aboutsummaryrefslogtreecommitdiff
path: root/spartan/core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* (FEAT) Context data slots for known types and conditional type rules, as ↵Josh Chen2020-08-1410-125/+260
| | | | | | | | | | | | | well as a separate one for judgmental equality rules. (REF) Goal statement assumptions are now put into the new context data slots. (FEAT) `assuming` Isar keyword—like `assume` but puts assumptions into context data. (REF) Typechecking and all other tactics refactored to use type information from the context data, as opposed to looking at all facts visible in context. MINOR INCOMPATIBILITY: facts that were implicitly used in proofs now have to be annotated with [type] to make them visible throughout the context, else explicitly passed to methods via `using`, or declared with `assuming`. (REF) Fixed incompatibilities in theories.
* (FEAT) Clean up typechecking/elaboration tactic: known_ctac should *solve* ↵Josh Chen2020-08-092-11/+12
| | | | goals; resolving with conditional typing judgments (e.g. type family assumptions) is part of check_infer_step
* 1. fix intros method. 2. Couple extra lemmas; good small test cases for ↵Josh Chen2020-08-052-2/+3
| | | | normalization in typechecking/elaboration.
* (FEAT) SIDE_CONDS tactical has additional argument specifying how many ↵Josh Chen2020-08-035-23/+35
| | | | | | | | initial subgoals to skip applying the side condition solver to. (FEAT) `intro`, `intros` methods for "logical introduction rules" (as opposed to typechecking `intr` attribute), only works on conclusions with rigid type. (FEAT) CREPEAT_N bounded repetition tactical, used in `intros n` method.
* (REF) Tweak attribute names in preparation for new logical introduction rule ↵Josh Chen2020-07-314-19/+21
| | | | behavior
* (FEAT) Term elaboration of assumption and goal statements.Josh Chen2020-07-318-105/+250
| | | | | | | | | | | | | | | | | | | | . spartan/core/goals.ML . spartan/core/elaboration.ML . spartan/core/elaborated_statement.ML (FEAT) More context tacticals and search tacticals. . spartan/core/context_tactical.ML (FEAT) Improved subgoal focus. Moves fully elaborated assumptions into the context (MINOR INCOMPATIBILITY). . spartan/core/focus.ML (FIX) Normalize facts in order to be able to resolve properly. . spartan/core/typechecking.ML (MAIN) New definitions. (MAIN) Renamed theories and theorems. (MAIN) Refactor theories to fit new features.
* small improvementJosh Chen2020-07-281-2/+1
|
* New `assuming` proof command for elaborated assumptionsJosh Chen2020-07-283-79/+118
|
* Hook elaboration into assumptions mechanismJosh Chen2020-07-276-29/+547
|
* minorJosh Chen2020-07-231-67/+56
|
* remove theoryJosh Chen2020-07-221-199/+0
|
* begin work on pre-proof elaborationJosh Chen2020-07-222-19/+218
|
* minorJosh Chen2020-07-211-1/+1
|
* 1. Bugfix: implicits now properly name schematic variables. Fixes problems ↵Josh Chen2020-07-212-16/+23
| | | | caused by variable name clashes. 2. reduce method now more principled: restricts to repeating on first subgoal. 3. An example declarative proof in Equivalence.thy.
* 1. Type-checking/inference now more principled, and the implementation is ↵Josh Chen2020-07-218-483/+257
| | | | better. 2. Changed most tactics to context tactics.
* Checkpoint. THIS BUILD WILL FAILJosh Chen2020-07-166-51/+451
|
* Defined annotated terms to be used in future typechecking improvementsJosh Chen2020-07-111-4/+7
|
* rename fileJosh Chen2020-07-111-2/+26
|
* Non-annotated object lambdaJosh Chen2020-07-091-20/+45
|
* 1. Initial `Definition` keyword. 2. ifelse.Josh Chen2020-07-082-13/+21
|
* reorganizeJosh Chen2020-06-1926-1994/+50
|
* rename foldersJosh Chen2020-06-1512-0/+1967
|
* 1. Type information context dataJosh Chen2020-06-032-2/+21
| | | | | 2. Small reformulations of rules 3. Bool
* inhabitation coercion should be syntax, not logical constant!Josh Chen2020-05-301-2/+2
|
* fix Pi congruence ruleJosh Chen2020-05-291-2/+2
|
* notationJosh Chen2020-05-281-0/+3
|
* case distinctionJosh Chen2020-05-283-1/+68
|
* reorganize folder structureJosh Chen2020-05-2811-14/+14
|
* 1. New congruence declarations for calculational reasoning. 2. Remove old ↵Josh Chen2020-05-263-56/+87
| | | | elimination tactic.
* fix implicits table merge mistakeJosh Chen2020-05-251-1/+1
|
* Lists + more reorganizingJosh Chen2020-05-251-2/+7
|
* Reorganize theory structure. In particular, the identity type moves out from ↵Josh Chen2020-05-2511-0/+2327
under Spartan to HoTT. Spartan now only has Pi and Sigma.