Skip to content

Commit a0f2296

Browse files
authored
add doc and a few other things (#8)
- add ssr documentation in Nat and List - Eq: add eq_sym - List: change notation for concatenation to ++ - Nat: replace zero by 0, and p by postfix -1 - Nat: add lemmas on 2* and even/odd numbers - Set: add projections for cartesian product
1 parent 920f59e commit a0f2296

File tree

7 files changed

+433
-97
lines changed

7 files changed

+433
-97
lines changed

Bool.lp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22

33
require open Blanqui.Lib.Set Blanqui.Lib.Prop Blanqui.Lib.FOL Blanqui.Lib.Eq;
44

5-
inductive 𝔹 : TYPE
5+
inductive 𝔹 : TYPE // `dB or \BbbB
66
| true : 𝔹
77
| false : 𝔹;
88

99
constant symbol bool : Set;
10+
1011
rule τ bool ↪ 𝔹;
1112

1213
// induction principle with equalities
@@ -159,3 +160,4 @@ symbol if : 𝔹 → Π [a], τ a → τ a → τ a;
159160

160161
rule if true $x _ ↪ $x
161162
with if false _ $y ↪ $y;
163+

Eq.lp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,8 @@ opaque symbol feq2 [a b c] (f:τ a → τ b → τ c):
2525
begin
2626
assume a b c f x x' xx' y y' yy'; rewrite xx'; rewrite yy'; reflexivity
2727
end;
28+
29+
opaque symbol eq_sym [a] [x ya] : π(x = y) → π(y = x) ≔
30+
begin
31+
assume a x y h; symmetry; apply h
32+
end;

FOL.lp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,13 @@ require open Blanqui.Lib.Set Blanqui.Lib.Prop;
44

55
// Universal quantification
66

7-
constant symbol ∀ [a] : (τ aProp) → Prop;
8-
9-
notationquantifier;
7+
constant symbol ∀ [a] : (τ aProp) → Prop; notationquantifier; // !! or \forall
108

119
rule π (∀ $f) ↪ Π x, π ($f x);
1210

1311
// Existential quantification
1412

15-
constant symbol ∃ [a] : (τ aProp) → Prop;
16-
17-
notationquantifier;
13+
constant symbol ∃ [a] : (τ aProp) → Prop; notationquantifier; // ?? or \exists
1814

1915
constant symbol ∃ᵢ [a] p (xa) : π (p x) → π (∃ p);
2016
symbol ∃ₑ [a] p : π (∃ p) → Π q, (Π xa, π (p x) → π q) → π q;

0 commit comments

Comments
 (0)