aboutsummaryrefslogtreecommitdiff
path: root/spartan/core/Spartan.thy (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-23Basic experiments adding reduction to the type checkerJosh Chen1-28/+44
2020-08-14minorJosh Chen1-0/+2
2020-08-14reorganizeJosh Chen1-1/+2
2020-08-14(FEAT) Context data slots for known types and conditional type rules, as ↵Josh Chen1-15/+16
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.
2020-08-051. fix intros method. 2. Couple extra lemmas; good small test cases for ↵Josh Chen1-1/+2
normalization in typechecking/elaboration.
2020-08-03(FEAT) SIDE_CONDS tactical has additional argument specifying how many ↵Josh Chen1-13/+17
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.
2020-07-31(REF) Tweak attribute names in preparation for new logical introduction rule ↵Josh Chen1-13/+16
behavior
2020-07-31(FEAT) Term elaboration of assumption and goal statements.Josh Chen1-33/+37
. 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.
2020-07-28New `assuming` proof command for elaborated assumptionsJosh Chen1-14/+8
2020-07-27Hook elaboration into assumptions mechanismJosh Chen1-0/+2
2020-07-22begin work on pre-proof elaborationJosh Chen1-19/+19
2020-07-21minorJosh Chen1-1/+1
2020-07-211. Bugfix: implicits now properly name schematic variables. Fixes problems ↵Josh Chen1-7/+11
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.
2020-07-211. Type-checking/inference now more principled, and the implementation is ↵Josh Chen1-83/+64
better. 2. Changed most tactics to context tactics.
2020-07-16Checkpoint. THIS BUILD WILL FAILJosh Chen1-30/+75
2020-07-11Defined annotated terms to be used in future typechecking improvementsJosh Chen1-4/+7
2020-07-09Non-annotated object lambdaJosh Chen1-20/+45
2020-07-081. Initial `Definition` keyword. 2. ifelse.Josh Chen1-13/+12
2020-06-19reorganizeJosh Chen1-14/+17
2020-06-031. Type information context dataJosh Chen1-2/+3
2. Small reformulations of rules 3. Bool
2020-05-30inhabitation coercion should be syntax, not logical constant!Josh Chen1-2/+2
2020-05-29fix Pi congruence ruleJosh Chen1-2/+2
2020-05-28notationJosh Chen1-0/+3
2020-05-28case distinctionJosh Chen1-1/+5
2020-05-28reorganize folder structureJosh Chen1-14/+14
2020-05-261. New congruence declarations for calculational reasoning. 2. Remove old ↵Josh Chen1-7/+5
elimination tactic.
2020-05-25Lists + more reorganizingJosh Chen1-2/+7
2020-05-25Reorganize theory structure. In particular, the identity type moves out from ↵Josh Chen1-9/+9
under Spartan to HoTT. Spartan now only has Pi and Sigma.
2020-05-25`refl` and `this` methodsJosh Chen1-8/+20
2020-05-25new elimination tacticJosh Chen1-17/+3
2020-05-24new work on elimination tacticJosh Chen1-6/+26
2020-05-22some tweaks and comments, in preparation for general inductive type eliminationJosh Chen1-4/+3
2020-04-021. make id function an abbrev. 2. fix reduce methodJosh Chen1-7/+5
2020-04-02better lambda notationJosh Chen1-4/+7
2020-04-02Brand-spanking new version using Spartan infrastructureJosh Chen1-0/+463