Commit graph

16 commits

Author SHA1 Message Date
4c008577b4 wip make qtys into polynomials 2024-05-27 21:32:48 +02:00
b1699ce022 add let to the core 2023-12-04 22:47:52 +01:00
0514fff481 represent ℕ constants directly
instead of as huge `succ (succ (succ ⋯))` terms
2023-11-03 18:05:54 +01:00
fa7f82ae5a rename Nat to NAT in AST 2023-11-03 18:05:54 +01:00
e0ed37720f always vsep scheme lets, otherwise they are unreadable 2023-11-03 18:05:54 +01:00
bb8d2464af add fst and snd 2023-09-18 21:53:38 +02:00
4c88918ade stop throwing names away 2023-09-17 19:08:49 +02:00
8221d71416 some refactors 2023-09-17 14:41:20 +02:00
2340b14407 partly improve coercions over constant lines
still needs a real quality check, or something, for stuff like
e : (x ≡ x : A) ⊢ coe (𝑖 ⇒ e @𝑖) x
2023-08-27 18:28:08 +02:00
349cf2f477 remove unused Tighten impl 2023-07-17 18:10:13 +02:00
b6264f388d fix #11 the easy way
tightening just pushes substitutions all the way through. bleh
2023-07-17 03:50:16 +02:00
fa09aaf228 squash warnings 2023-06-23 18:32:05 +02:00
42aa07c9c8 crude but effective stratification 2023-05-21 20:34:05 +02:00
d5f4a012c5 add source locations to inner syntax 2023-05-02 03:06:25 +02:00
30fa93ab4e refactor core syntax slightly to derive Eq/Show
add a new `WithSubst tm env to` record that packages a `tm from`
with a `Subst env from to`, and write instances for just that. the
rest of the AST can be derived
2023-04-27 21:37:20 +02:00
3fb8580f85 re-add tightening and use it when messing with scopes
e.g. "coe [_ ⇒ A] @p @q s" should immediately reduce to "s",
but if the "_ ⇒ A" happened to use an SY it didn't.

this will still happen if a wrong SY sneaks in but the alternative is
re-traversing the term over and over every time whnf runs
2023-04-17 20:56:31 +02:00