Commit Graph

445 Commits

Author SHA1 Message Date
Leni Aniva 814f36eb63 Merge pull request 'feat: Add source location extraction' (#154) from env/inspect into dev
Reviewed-on: #154
2025-01-10 12:47:35 -08:00
Leni Aniva 4a4b02d7b0
test: Source location extraction 2025-01-10 12:47:13 -08:00
Leni Aniva 97eaadc93c
feat: Add source location extraction 2025-01-10 12:16:23 -08:00
Leni Aniva cb46b47a60
test: Draft tactic test 2025-01-08 22:23:30 -08:00
Leni Aniva 5ce6123de7
feat: Draft tactic 2025-01-08 19:56:14 -08:00
Leni Aniva 6302b747b8
feat: Improve error message clarity 2025-01-07 17:51:32 -08:00
Leni Aniva 07e737eb81 Merge pull request 'feat: Simplify sexp printing' (#149) from delate/sexp into dev
Reviewed-on: #149
2025-01-07 17:31:29 -08:00
Leni Aniva 524314721b
feat: Gate type error collection behind flag 2025-01-07 19:40:03 +09:00
Leni Aniva 48b924fae2
fix(frontend): Incorrect capture of binder term 2024-12-20 19:12:12 +09:00
Leni Aniva b42d917aa7
fix: Unnecessary instantiation call 2024-12-17 08:18:27 +09:00
Leni Aniva 53bad1c4c9
refactor: Remove obsolete sanitize option 2024-12-15 12:52:08 -08:00
Leni Aniva 7a3b89cc0e
feat: Simplify sexp binder 2024-12-15 12:49:02 -08:00
Leni Aniva c0090dec97
fix: Quote string literal in sexp 2024-12-15 12:40:47 -08:00
Leni Aniva 13e01b9e62
Merge branch 'dev' into misc/version 2024-12-11 20:53:32 -08:00
Leni Aniva 0fa57a5a15
Merge branch 'dev' into goal/print 2024-12-11 16:51:58 -08:00
Leni Aniva 2f732a7f20
feat: Print goals in `goal.print` 2024-12-11 16:49:52 -08:00
Leni Aniva eeb336c944
Merge branch 'dev' into goal/print 2024-12-11 16:40:01 -08:00
Leni Aniva bb445f4d73
chore: Update version 2024-12-11 16:38:59 -08:00
Leni Aniva ab77418e24
fix: Drop previous message lists 2024-12-11 09:05:47 -08:00
Leni Aniva f2f71a6028
fix: Reset core message log 2024-12-11 09:01:57 -08:00
Leni Aniva 7cba8efd54
Merge branch 'dev' into frontend/infotree 2024-12-11 01:14:15 -08:00
Leni Aniva 4217dbcf80
Merge branch 'dev' into bug/tactic-failure-placeholder 2024-12-11 01:08:44 -08:00
Leni Aniva cb87fcd9dd
fix: Insert `mvarDeps` 2024-12-11 00:16:52 -08:00
Leni Aniva e0e5c9ec68
chore: Code cleanup 2024-12-10 23:51:47 -08:00
Leni Aniva 755ba13c1b
fix: Set `synthesizeSyntheticMVarsNoPostponing` 2024-12-10 23:48:46 -08:00
Leni Aniva 1d10cd2b20
fix: Collect errored mvars by iterating errorInfo 2024-12-10 23:16:33 -08:00
Leni Aniva 0725d865de
feat: Print value of arbitrary mvar in goal state 2024-12-10 14:14:59 -08:00
Leni Aniva 681c3fb78d
fix: Disallow indeterminant type `sorry` 2024-12-10 12:21:56 -08:00
Leni Aniva 37a5884be4
fix: Use `ppSyntax` instead of `ppTactic` 2024-12-09 21:39:33 -08:00
Leni Aniva 1527743900
refactor: Optionalize CompilationUnit 2024-12-09 21:00:33 -08:00
Leni Aniva eb0374dfb3
feat: Collect new constants in repl 2024-12-09 20:57:25 -08:00
Leni Aniva dd00d803d1
feat: Collect sorry/elab failure boundaries 2024-12-09 20:38:27 -08:00
Leni Aniva e9cbc6eab3
chore: Update version 2024-12-09 20:17:55 -08:00
Leni Aniva 0b4ded1049
fix: Collect sorrys and type mismatches 2024-12-09 20:15:53 -08:00
Leni Aniva 5ef2b5c118
feat: Collect newly defined constants 2024-12-09 19:40:00 -08:00
Leni Aniva d040d2006c
fix: Do not guard mvar errors in other tactics 2024-12-09 17:58:08 -08:00
Leni Aniva 47d26badc8
feat: Capture mvar errors 2024-12-09 17:30:33 -08:00
Leni Aniva 2d068ecd50
fix: Use guarded `isDefEq` 2024-12-09 00:06:20 -08:00
Leni Aniva 17ab2eafd8
fix: Halt on match guard 2024-12-09 00:03:53 -08:00
Leni Aniva ea813e5bc5
feat: Monadic info collection 2024-12-08 23:21:36 -08:00
Leni Aniva b950dc9b1a
fix: Verbose printing of infotree 2024-12-08 22:51:55 -08:00
Leni Aniva 9ede3cf717
feat: InfoTree printing 2024-12-08 15:38:03 -08:00
Leni Aniva 4de53e0547
Merge branch 'dev' into frontend/infotree 2024-12-08 12:54:19 -08:00
Leni Aniva 929311a042
fix: Only signal failure when there is error 2024-12-06 00:08:20 -08:00
Leni Aniva 34a4bf5b73
feat: Export GoalState.tryTactic 2024-12-05 22:12:04 -08:00
Leni Aniva a62ac51c37
chore: Remove all redundant filenames 2024-12-05 22:11:37 -08:00
Leni Aniva 7aafd6956f
fix: Capture composite tactic failure 2024-12-05 22:07:21 -08:00
Leni Aniva 13dd11e995
chore: Update Lean to v4.14 2024-12-05 18:55:30 -08:00
Leni Aniva ebf9ab24f7 Merge pull request 'feat: Pickling goal states' (#129) from serial/pickle into dev
Reviewed-on: #129
2024-12-05 16:02:25 -08:00
Leni Aniva c54ce93ef5
feat: Goal State IO in REPL 2024-12-05 14:31:43 -08:00
Leni Aniva 105fb7af4b
feat: Goal state pickling 2024-12-05 14:23:55 -08:00
Leni Aniva 0f946880ae
test: Environment pickling 2024-12-04 10:44:33 -08:00
Leni Aniva 44aef76a10
refactor: Remove sanitization for mvarId/fvarId 2024-11-26 12:57:19 -08:00
Leni Aniva a8e7a1a726
feat: Erase macro scopes in sexp 2024-11-26 12:34:52 -08:00
Leni Aniva 9894ad7c7e
refactor: InfoTree functions 2024-11-26 12:16:14 -08:00
Leni Aniva 4bfd606e2a
Merge branch 'dev' into serial/pickle 2024-11-15 23:09:08 -08:00
Leni Aniva 2790553180
feat: Environment save/load commands 2024-11-13 19:50:31 -08:00
Leni Aniva 495ea1ac14
feat: Environment pickling 2024-11-08 14:49:49 -08:00
Leni Aniva ee8063e1f5
refactor: Merge all Delation functions 2024-11-08 14:41:24 -08:00
Leni Aniva 70f86f6e93
doc: Update delation documentation 2024-11-08 14:34:15 -08:00
Leni Aniva 0d57027681
refactor: Merge Condensed into Delate 2024-11-08 13:05:48 -08:00
Leni Aniva 1c4f38e5eb
refactor: Rename {Serial,Delate}.lean 2024-11-08 13:04:00 -08:00
Leni Aniva d7c9590780
feat: Extract used constants from invocation 2024-11-05 14:37:06 -08:00
Leni Aniva 645d9c9250
feat: Let tactic in REPL 2024-10-12 16:17:21 -07:00
Leni Aniva 641f8c3883
fix: Translate level mvars 2024-10-09 15:49:10 -07:00
Leni Aniva 0e8c9f890b
fix: Translate fvars in pending context 2024-10-08 14:28:35 -07:00
Leni Aniva 420e863756
fix: Delayed mvars in MetaTranslate 2024-10-08 10:32:16 -07:00
Leni Aniva 25dd1a32ba
Merge branch 'dev' into misc/version 2024-10-06 16:12:36 -07:00
Leni Aniva 9119f47a8f chore: Remove more thin wrappers 2024-10-06 16:12:22 -07:00
Leni Aniva 8d774d3281 feat: Remove most filters on catalog 2024-10-06 16:12:22 -07:00
Leni Aniva c3076cbb7d
chore: Update Lean to v4.12.0 2024-10-06 16:10:18 -07:00
Leni Aniva d0321e72dd
feat: Add message diagnostics to frontend.process 2024-10-05 14:49:17 -07:00
Leni Aniva 10cb32e03f
Merge branch 'dev' into frontend/collect-holes 2024-10-03 11:47:38 -07:00
Leni Aniva a03eeddc9b
fix: Variable duplication in nested translation 2024-10-03 11:46:09 -07:00
Leni Aniva 530a1a1a97
fix: Extracting `sorry`s from coupled goals 2024-10-03 11:35:54 -07:00
Leni Aniva ed1f96d7f7
Merge branch 'dev' into goal/tactic 2024-10-03 01:38:10 -07:00
Leni Aniva 143cd289bb
fix: Extraction of sorry's from nested tactics 2024-10-03 01:29:46 -07:00
Leni Aniva 18cd1d0388
fix: Extracting sorrys from sketches 2024-10-02 22:22:20 -07:00
Leni Aniva fe8b259e4f
feat: Set root when there's just one mvar 2024-09-09 17:37:59 -07:00
Leni Aniva f729a357b9
Merge branch 'dev' into frontend/collect-holes 2024-09-09 17:35:10 -07:00
Leni Aniva 9075ded885
feat: Set `automaticMode` to true by default 2024-09-09 17:29:43 -07:00
Leni Aniva 762a139e78
feat: Export frontend functions 2024-09-09 12:30:32 -07:00
Leni Aniva 4f5950ed78
feat: Convert holes to goals 2024-09-09 12:26:46 -07:00
Leni Aniva 08fb53c020
test: Frontend process testing 2024-09-09 10:18:20 -07:00
Leni Aniva 8e3241c02a
refactor: Move all frontend functions to `Frontend` 2024-09-08 15:02:43 -07:00
Leni Aniva 5e99237e09
fix: Tactics should produce `.syntheticOpaque` goals 2024-09-08 14:13:39 -07:00
Leni Aniva 860344f9c5
refactor: Factor out `FrontendM` driver 2024-09-08 13:44:46 -07:00
Leni Aniva b645d79fda
Merge branch 'dev' into goal/automatic 2024-09-08 12:13:42 -07:00
Leni Aniva 7c49fcff27
refactor: Un-export two field accessor functions
User should use `lean_ctor_get`
2024-09-08 11:53:54 -07:00
Leni Aniva 68dac4c951
chore: Version bump to 0.2.18 2024-09-07 13:55:41 -07:00
Leni Aniva 4042ec707e
refactor: Use `Meta.mapMetaM` 2024-09-07 13:54:52 -07:00
Leni Aniva 8394e1b468
feat: Expose `conv` and `calc` tactics 2024-09-07 13:47:55 -07:00
Leni Aniva a7b30af36b
refactor: Refactor REPL out of main library
fix: Calc previous rhs not found bug
2024-09-06 22:01:36 -07:00
Leni Aniva 37473b3efb
feat: Automatic mode (auto resume) 2024-09-06 21:30:11 -07:00
Leni Aniva 82d99ccf9b
refactor: Use `MVarId` across the board 2024-09-06 21:07:12 -07:00
Leni Aniva 02556f3c79
feat: Expose `GoalState` functions 2024-09-05 11:56:06 -07:00
Leni Aniva 9c40a83956
fix: Instantiate type when detecting `eq` 2024-09-03 19:05:16 -07:00
Leni Aniva f8df2599f9
fix: Use `replaceMainGoal` instead of `setGoals` 2024-09-03 14:18:47 -07:00
Leni Aniva 8d2cd6dfc7
fix: Bindings in prograde tactics 2024-09-03 14:15:52 -07:00
Leni Aniva edec0f5733
feat: Use CoreM for diag monad 2024-08-26 13:42:14 -04:00
Leni Aniva 3733c10a4e
refactor: Unify call convention
Induction like tactics should return `Array InductionSubgoal`. Branching
tactics should return their branch first.
2024-08-17 16:47:21 -07:00
Leni Aniva 43e11f1ba3
refactor: Always display isInaccessible 2024-08-17 00:53:38 -07:00
Leni Aniva 0c469027c6
fix: Refactor mvar collection in assign tactic 2024-08-17 00:50:02 -07:00
Leni Aniva e1b7eaab12
fix: Let tactic not bringing binder into scope 2024-08-17 00:47:12 -07:00
Leni Aniva d17b21e282
fix: Use `getMVarsNoDelayed` 2024-08-16 00:32:34 -07:00
Leni Aniva 5b4f8a37eb
refactor: All Tactic/ tactics into MetaM form 2024-08-15 23:41:17 -07:00
Leni Aniva 1e7a186bb1
refactor: MetaM form of define (evaluate) 2024-08-15 23:23:17 -07:00
Leni Aniva 9b0456a5e0
refactor: MetaM form of have and let 2024-08-15 23:17:15 -07:00
Leni Aniva 7968072097
refactor: Remove the newMVarSet mechanism
This field has ambiguous purpose and does not account for different
types of mvars
2024-08-15 22:53:42 -07:00
Leni Aniva e07f9d9b3f
Merge branch 'dev' into tactic/eval 2024-08-15 22:45:43 -07:00
Leni Aniva e943a4b065
refactor: Assign into its own tactic 2024-08-15 22:39:40 -07:00
Leni Aniva 0bc7bc5856
refactor: Remove export of Lean functions
If the user wishes to use Lean functions, they should add the bindings manually.
2024-08-14 01:20:56 -07:00
Leni Aniva c9ee31bbfd
feat: Export `mkFun` 2024-08-02 22:33:03 -07:00
Leni Aniva 394fb73137
feat: Add direct expression to string 2024-08-02 22:00:27 -07:00
Leni Aniva c0e2a592ea
feat: Expose `mkAppM'` 2024-08-02 21:44:46 -07:00
Leni Aniva 2c08ef1e23
refactor: Remove old `visibleFVars` interface 2024-08-02 19:53:19 -07:00
Leni Aniva 651afa75f4
feat: Filter in `visibleFVarsOfMVar` 2024-08-02 19:49:11 -07:00
Leni Aniva abef7a6f0d
feat: Export fvar names function 2024-07-31 00:00:33 -07:00
Leni Aniva caa463f410
feat: Export GoalState.goalsArray 2024-07-30 17:02:41 -07:00
Leni Aniva 3ca52517ab
feat: Refactor out projToApp 2024-07-30 13:30:41 -07:00
Leni Aniva 1c9a411d4d
feat: Export constant info type/value 2024-07-29 18:39:22 -07:00
Leni Aniva 7b5567d784
fix: Name internal order 2024-07-28 14:19:47 -07:00
Leni Aniva 29f437f859
feat: Export GoalState.create 2024-07-28 13:58:20 -07:00
Leni Aniva 4c81f226d1
feat: Expose environment functions 2024-07-28 13:46:14 -07:00
Leni Aniva 9db5463499
feat: Export `GoalState.resume` 2024-07-27 18:20:34 -07:00
Leni Aniva bf941cd686
feat: Expose parent and root expr functions 2024-07-27 17:39:51 -07:00
Leni Aniva 2682ce5b7b
refactor: Move condensed functions to condensed 2024-07-23 11:57:12 -07:00
Leni Aniva 3b415e8dc1
chore: Rename exports 2024-07-23 05:16:46 -07:00
Leni Aniva 431ca4e481
fix: Move elab context to condensed 2024-07-22 17:57:01 -07:00
Leni Aniva eb5ee8c57c
feat: Expose TermElab context and state 2024-07-22 17:34:14 -07:00
Leni Aniva 94c7b021f7
fix: Signature of ppExpr 2024-07-15 12:22:47 -07:00
Leni Aniva 193d94e798
feat: Expression creation and pretty printing 2024-07-15 11:42:02 -07:00
Leni Aniva a7fe7cbd7c
Merge branch 'misc/version' into serial/expr 2024-07-15 09:53:36 -07:00
Leni Aniva 4549ae1f65
Merge branch 'misc/version' into tactic/eval 2024-07-06 19:56:31 -07:00
Leni Aniva c404564a2b
chore: Bump Lean version to 4.10.0-rc1 2024-07-06 19:53:50 -07:00
Leni Aniva 6ddde2963d
test: Eval instantiate 2024-06-27 14:51:16 -04:00
Leni Aniva 2d2ff24017
feat: FFI interface for `evaluate` tactic 2024-06-25 17:10:31 -04:00
Leni Aniva 7acf1ffdf1
refactor: Move `have` to prograde tactic 2024-06-25 16:58:35 -04:00
Leni Aniva c0124b347f
Merge branch 'serial/expr' into tactic/eval 2024-06-25 16:05:20 -04:00
Leni Aniva 8e78718447
feat: Extract MetaM context and state from goal 2024-06-25 15:54:55 -04:00
Leni Aniva ffbea41f62
feat: Condensed interface 2024-06-25 15:13:58 -04:00
Leni Aniva e282d9f781
test: Evaluation tactic 2024-06-25 11:03:08 -04:00
Leni Aniva 25a7025c25
feat: Evaluation tactic 2024-06-23 15:01:51 -07:00
Leni Aniva aceee85b05
Merge branch 'env/inspect' into tactic/congruence 2024-06-16 13:46:18 -07:00
Leni Aniva 8707dbc9bb
fix: aux lemmas in env inspect 2024-06-16 13:44:57 -07:00
Leni Aniva f80d90ce87
fix: Goal diag missing newline character 2024-06-14 11:59:02 -07:00
Leni Aniva b3a60fcea8
refactor: Rename TacticExecute to SyntheticTactic 2024-06-13 14:25:05 -07:00
Leni Aniva 2d2cf75183
Merge branch 'dev' into goal/mapply 2024-06-12 13:44:49 -07:00
Leni Aniva c0e6e3ec39
Merge branch 'parse/level' into goal/mapply 2024-06-11 15:21:35 -07:00
Leni Aniva 773a0afbd8
feat: Handling of universe level names in elab 2024-06-11 12:44:42 -07:00