lean4-htt/src/Init
Joachim Breitner dc65f03c41
feat: PProd and MProd syntax (part 1) (#4747)
the internal constructions for structural and well-founded recursion
use plenty of `PProd` and `MProd`, and reading these, deeply
nested and in prefix notation, is unnecessarily troublesome.

Therefore this introduces notations
```
a ×ₚ b   -- PProd a b
a ×ₘ b   -- MProd a b
()ₚ      -- PUnit.unit
(x,y,z)ₚ -- PProd.mk x (PProd.mk y z)
(x,y,z)ₘ -- MProd.mk x (MProd.mk y z)
```

(This is part 1, the rest will follow in #4730 after a stage0 update.)
2024-07-15 14:21:11 +00:00
..
Control chore: cleanup unused arguments (from linter) (#4621) 2024-07-07 21:20:06 +00:00
Data feat: further theorems for List.erase (#4723) 2024-07-10 22:19:12 +00:00
Grind feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
Omega feat: omega doesn't push coercion over multiplication unnecessarily (#4695) 2024-07-09 12:49:31 +00:00
System feat: Process.tryWait (#4660) 2024-07-08 15:14:13 +00:00
BinderPredicates.lean chore: upstream set notation (#3339) 2024-02-15 02:08:45 +00:00
ByCases.lean feat: lemmas to simplify equalities with Option-typed dependent if-then-else (#4037) 2024-05-06 05:51:52 +00:00
Classical.lean doc: Classical.choice (#3871) 2024-04-22 06:36:56 +00:00
Coe.lean fix: make Lean.Internal.liftCoeM and Lean.Internal.coeM unfold (#3404) 2024-02-27 22:17:46 +00:00
Control.lean
Conv.lean chore: reorganising to reduce imports (#3790) 2024-03-27 11:15:01 +00:00
Core.lean chore: upstream eq_iff_true_of_subsingleton (#4689) 2024-07-08 21:09:33 +00:00
Data.lean fix: unorphan modules in Init (#4680) 2024-07-08 07:57:50 +00:00
Dynamic.lean chore: snake-case attributes (part 2) 2022-10-19 09:28:08 -07:00
Ext.lean chore: make use of ext_iff realization now that stage0 is updated (#4694) 2024-07-08 21:05:53 +00:00
GetElem.lean chore: cleanup unused arguments (from linter) (#4621) 2024-07-07 21:20:06 +00:00
Grind.lean feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
Guard.lean feat: upstream guard_expr (#3297) 2024-02-11 23:25:04 +00:00
Hints.lean
MacroTrace.lean chore: reorganising to reduce imports (#3790) 2024-03-27 11:15:01 +00:00
Meta.lean feat: add Rewrite.Config.newGoals field 2024-06-20 01:05:52 +02:00
MetaTypes.lean feat: add Simp.Config.implicitDefEqProofs 2024-06-29 19:18:53 +02:00
Notation.lean feat: PProd and MProd syntax (part 1) (#4747) 2024-07-15 14:21:11 +00:00
NotationExtra.lean feat: PProd and MProd syntax (part 1) (#4747) 2024-07-15 14:21:11 +00:00
Omega.lean chore: add missing copyright headers (#3411) 2024-02-20 01:49:55 +00:00
Prelude.lean doc: fix misplaced docstring for getThe (#4737) 2024-07-13 08:10:05 +00:00
PropLemmas.lean feat: further theorems for List.erase (#4723) 2024-07-10 22:19:12 +00:00
RCases.lean doc: typo in rcases docs (#3796) 2024-03-28 07:31:01 +00:00
ShareCommon.lean chore: snake-case attributes (part 2) 2022-10-19 09:28:08 -07:00
SimpLemmas.lean feat: characterisations of List.Sublist (#4704) 2024-07-09 21:34:29 +00:00
Simproc.lean chore: fix simproc doc-string (#3800) 2024-03-28 17:54:52 +00:00
SizeOf.lean doc: documentation for Init.SizeOf 2022-08-17 14:48:10 -07:00
SizeOfLemmas.lean fix: protect sizeOf lemmas 2023-07-19 08:50:59 +02:00
System.lean feat: Mutex, Condvar 2022-09-05 08:52:46 -07:00
Tactics.lean chore: fix typo and incorrect name in doc (#4404) 2024-06-23 09:06:50 +00:00
TacticsExtra.lean feat: incremental next and tactic if (#4459) 2024-06-18 12:36:59 +00:00
Util.lean chore: extend GetElem with getElem! and getElem? (#3694) 2024-03-28 01:42:00 +00:00
WF.lean chore: defs that should be theorems (#4619) 2024-07-02 03:03:11 +00:00
WFTactics.lean feat: add missing theorems for + 1 and - 1 normal form (#4242) 2024-06-17 05:35:32 +00:00