@@ -258,8 +258,8 @@ with eql _ (_ ⸬ _) □ ↪ false
258258with eql _ □ (_ ⸬ _) ↪ false
259259with eql $beq ($x ⸬ $l ) ($y ⸬ $m ) ↪ ($beq $x $y ) and (eql $beq $l $m );
260260
261- opaque symbol eql_correct a beq : π(`∀ x : τ a , `∀ y , istrue ( beq x y ) ⇒ x = y ) →
262- π(`∀ l , `∀ m , istrue ( eql beq l m ) ⇒ l = m ) ≔
261+ opaque symbol eql_correct a ( beq :τ a → τ a → 𝔹) :
262+ π(`∀ x , `∀ y , beq x y ⇒ x = y ) → π(`∀ l , `∀ m , eql beq l m ⇒ l = m ) ≔
263263begin
264264 assume a beq beq_correct ; induction
265265 { induction
@@ -277,8 +277,8 @@ begin
277277 }
278278end ;
279279
280- opaque symbol eql_complete a beq : π(`∀ x : τ a , `∀ y , x = y ⇒ istrue ( beq x y )) →
281- π(`∀ l , `∀ m , l = m ⇒ istrue ( eql beq l m ) ) ≔
280+ opaque symbol eql_complete a ( beq : τ a → τ a → 𝔹) :
281+ π(`∀ x , `∀ y , x = y ⇒ beq x y ) → π(`∀ l , `∀ m , l = m ⇒ eql beq l m ) ≔
282282begin
283283 assume a beq beq_complete ; induction
284284 { assume m i ; rewrite left i ; apply ⊤ᵢ; }
@@ -586,7 +586,7 @@ rule all2 _ □ □ ↪ true
586586with all2 $p ($x ⸬ $l ) ($y ⸬ $m ) ↪ ($p $x $y ) and (all2 $p $l $m );
587587
588588opaque symbol unzip1_zip [a b ] (la :𝕃 a ) (lb :𝕃 b ) :
589- π (istrue ( size la ≤ size lb ) ) → π (unzip1 (zip la lb ) = la ) ≔
589+ π (size la ≤ size lb ) → π (unzip1 (zip la lb ) = la ) ≔
590590begin
591591 assume a b ; induction
592592 { reflexivity ; }
@@ -597,7 +597,7 @@ begin
597597end ;
598598
599599opaque symbol unzip2_zip [a b ] (la :𝕃 a ) (lb :𝕃 b ) :
600- π (istrue ( size lb ≤ size la ) ) → π (unzip2 (zip la lb ) = lb ) ≔
600+ π (size lb ≤ size la ) → π (unzip2 (zip la lb ) = lb ) ≔
601601begin
602602 assume a b ; induction
603603 { assume lb h ;
@@ -610,7 +610,7 @@ begin
610610end ;
611611
612612opaque symbol size1_zip [a b ] (la :𝕃 a ) (lb :𝕃 b ) :
613- π (istrue ( size la ≤ size lb ) ) → π (size (zip la lb ) = size la ) ≔
613+ π (size la ≤ size lb ) → π (size (zip la lb ) = size la ) ≔
614614begin
615615 assume a b ; induction
616616 { reflexivity ; }
@@ -621,7 +621,7 @@ begin
621621end ;
622622
623623opaque symbol size2_zip [a b ] (la :𝕃 a ) (lb :𝕃 b ) :
624- π (istrue ( size lb ≤ size la ) ) → π (size (zip la lb ) = size lb ) ≔
624+ π (size lb ≤ size la ) → π (size (zip la lb ) = size lb ) ≔
625625begin
626626 assume a b ; induction
627627 { assume lb h ; symmetry ; apply ≤0 (size lb ) h ; }
@@ -720,8 +720,7 @@ begin
720720 reflexivity ;
721721end ;
722722
723- opaque symbol drop_oversize [a ] n (l :𝕃 a ) :
724- π (istrue (size l ≤ n )) → π (drop n l = □) ≔
723+ opaque symbol drop_oversize [a ] n (l :𝕃 a ) : π (size l ≤ n ) → π (drop n l = □) ≔
725724begin
726725 assume a ; induction
727726 { assume l h ;
@@ -822,8 +821,7 @@ begin
822821 { assume e l h ; simplify ; rewrite h ; reflexivity ; }
823822end ;
824823
825- opaque symbol take_oversize [a ] n (l :𝕃 a ) :
826- π (istrue (size l ≤ n )) → π (take n l = l ) ≔
824+ opaque symbol take_oversize [a ] n (l :𝕃 a ) : π (size l ≤ n ) → π (take n l = l ) ≔
827825begin
828826 assume a ; induction
829827 { assume l h ; simplify ; symmetry ; apply size0nil l ; apply ≤0 (size l ) h ; }
@@ -844,7 +842,7 @@ begin
844842end ;
845843
846844opaque symbol size_takel [a ] n (l :𝕃 a ) :
847- π (istrue ( n ≤ size l ) ) → π (size (take n l ) = n ) ≔
845+ π (n ≤ size l ) → π (size (take n l ) = n ) ≔
848846begin
849847 assume a ; induction
850848 { reflexivity ; }
@@ -884,7 +882,7 @@ begin
884882end ;
885883
886884opaque symbol takel_cat [a ] (l1 l2 :𝕃 a ) n :
887- π (istrue ( n ≤ size l1 ) ) → π (take n (l1 ++ l2 ) = take n l1 ) ≔
885+ π (n ≤ size l1 ) → π (take n (l1 ++ l2 ) = take n l1 ) ≔
888886begin
889887 assume a ; induction
890888 { assume l2 n h ; have t :π (n = 0 ) { apply ≤0 n h }; rewrite t ; reflexivity ; }
@@ -967,8 +965,7 @@ begin
967965 rewrite cat_take_drop n0 l ; reflexivity ;
968966end ;
969967
970- opaque symbol rot_oversize [a ] n (l :𝕃 a ) :
971- π (istrue (size l ≤ n )) → π (rot n l = l ) ≔
968+ opaque symbol rot_oversize [a ] n (l :𝕃 a ) : π (size l ≤ n ) → π (rot n l = l ) ≔
972969begin
973970 assume a n l h ; simplify ; rewrite drop_oversize n l h ;
974971 rewrite take_oversize n l h ; reflexivity ;
@@ -989,7 +986,7 @@ begin
989986end ;
990987
991988opaque symbol take_take [a ] n m :
992- π (istrue ( n ≤ m ) ) → π (`∀ l :𝕃 a , take n (take m l ) = take n l ) ≔
989+ π (n ≤ m ) → π (`∀ l :𝕃 a , take n (take m l ) = take n l ) ≔
993990begin
994991 assume a ; induction
995992 { reflexivity ; }
@@ -1064,21 +1061,21 @@ begin
10641061end ;
10651062
10661063opaque symbol mem_head [a ] beq (x :τ a ) l :
1067- π (beq x x = true ) → π (istrue ( ∈ beq x (x ⸬ l ) )) ≔
1064+ π (beq x x = true ) → π (∈ beq x (x ⸬ l )) ≔
10681065begin
10691066 assume a beq x l hrefl ; simplify ; rewrite hrefl ; apply ⊤ᵢ;
10701067end ;
10711068
10721069opaque symbol mem_take [a ] beq n l (x :τ a ) :
1073- π (istrue ( ∈ beq x (take n l ))) → π (istrue ( ∈ beq x l ) ) ≔
1070+ π (∈ beq x (take n l )) → π (∈ beq x l ) ≔
10741071begin
10751072 assume a beq n l x h ; rewrite left cat_take_drop n l ;
10761073 rewrite mem_cat beq x (take n l ) (drop n l );
10771074 refine @or ᵢ₁ (∈ beq x (take n l )) (∈ beq x (drop n l )) h ;
10781075end ;
10791076
10801077opaque symbol mem_drop [a ] beq n l (x :τ a ) :
1081- π (istrue ( ∈ beq x (drop n l ))) → π (istrue ( ∈ beq x l ) ) ≔
1078+ π (∈ beq x (drop n l )) → π (∈ beq x l ) ≔
10821079begin
10831080 assume a beq n l x h ; rewrite left cat_take_drop n l ;
10841081 rewrite mem_cat beq x (take n l ) (drop n l );
@@ -1095,8 +1092,7 @@ with index $beq $x ($y ⸬ $l) ↪ if ($beq $x $y) 0 (index $beq $x $l +1);
10951092assert ⊢ index eqn 2 (42 ⸬ 2 ⸬ 51 ⸬ 3 ⸬ □) ≡ 1 ;
10961093assert ⊢ index eqn 26 (42 ⸬ 2 ⸬ 51 ⸬ 3 ⸬ □) ≡ 4 ;
10971094
1098- opaque symbol index_size [a ] beq (x :τ a ) l :
1099- π (istrue (index beq x l ≤ size l )) ≔
1095+ opaque symbol index_size [a ] beq (x :τ a ) l : π (index beq x l ≤ size l ) ≔
11001096begin
11011097 assume a beq x ; induction
11021098 { apply ⊤ᵢ; }
@@ -1145,13 +1141,12 @@ with find $p ($x ⸬ $l) ↪ if ($p $x) 0 (find $p $l +1);
11451141assert ⊢ find (λ x , eqn (x + 1 ) 3 ) (42 ⸬ 2 ⸬ 51 ⸬ 3 ⸬ □) ≡ 1 ;
11461142assert ⊢ find (λ x , eqn (x + 1 ) 3 ) (42 ⸬ 4 ⸬ 51 ⸬ 3 ⸬ □) ≡ 4 ;
11471143
1148- opaque symbol find_size [a ] (p :τ a → 𝔹) l :
1149- π (istrue (find p l ≤ size l )) ≔
1144+ opaque symbol find_size [a ] (p :τ a → 𝔹) l : π (find p l ≤ size l ) ≔
11501145begin
11511146 assume a p ; induction
11521147 { apply ⊤ᵢ; }
11531148 { assume e l h ;
1154- refine ind_ 𝔹 (λ x :𝔹 , istrue (if x 0 (find p l +1 ) ≤ size l +1 )) _ _ (p e ) {
1149+ refine ind_ 𝔹 (λ x , istrue (if x 0 (find p l +1 ) ≤ size l +1 )) _ _ (p e ) {
11551150 apply ⊤ᵢ;
11561151 } {
11571152 simplify ; apply h ;
@@ -1169,12 +1164,12 @@ with count $p ($x ⸬ $l) ↪ if ($p $x) (count $p $l +1) (count $p $l);
11691164assert ⊢ count (λ x , eqn (x + 1 ) 3 ) (42 ⸬ 4 ⸬ 51 ⸬ 3 ⸬ □) ≡ 0 ;
11701165assert ⊢ count (λ x , eqn (x + 1 ) 3 ) (2 ⸬ 2 ⸬ 2 ⸬ 2 ⸬ □) ≡ 4 ;
11711166
1172- opaque symbol count_size [a ] (p :τ a → 𝔹) l : π(istrue ( count p l ≤ size l ) ) ≔
1167+ opaque symbol count_size [a ] (p :τ a → 𝔹) l : π(count p l ≤ size l ) ≔
11731168begin
11741169 assume a p ; induction
11751170 { apply ⊤ᵢ; }
11761171 { assume e l h ; simplify ;
1177- refine ind_ 𝔹 (λ x :𝔹 , istrue (if x (count p l +1 ) (count p l ) ≤ size l +1 )) _ _ (p e ) {
1172+ refine ind_ 𝔹 (λ x , istrue (if x (count p l +1 ) (count p l ) ≤ size l +1 )) _ _ (p e ) {
11781173 simplify ; apply h ;
11791174 } {
11801175 simplify ;
@@ -1340,7 +1335,7 @@ begin
13401335end ;
13411336
13421337opaque symbol eq_find [a ] beq p (l1 l2 :𝕃 a ) :
1343- π (istrue ( eql beq l1 l2 )) → π (istrue ( eqn (find p l1 ) (find p l2 ) )) ≔
1338+ π (eql beq l1 l2 ) → π (eqn (find p l1 ) (find p l2 )) ≔
13441339begin
13451340abort ;
13461341
@@ -1354,8 +1349,7 @@ with undup $beq ($x ⸬ $l)
13541349
13551350assert ⊢ undup eqn (42 ⸬ 2 ⸬ 51 ⸬ 3 ⸬ 2 ⸬ 3 ⸬ □) ≡ 42 ⸬ 51 ⸬ 2 ⸬ 3 ⸬ □;
13561351
1357- opaque symbol size_undup [a ] beq (l :𝕃 a ) :
1358- π (istrue (size (undup beq l ) ≤ size l )) ≔
1352+ opaque symbol size_undup [a ] beq (l :𝕃 a ) : π (size (undup beq l ) ≤ size l ) ≔
13591353begin
13601354 assume a beq ; induction
13611355 { apply ⊤ᵢ; }
@@ -1369,8 +1363,7 @@ begin
13691363 }
13701364end ;
13711365
1372- opaque symbol undup_uniq [a ] beq (l :𝕃 a ) :
1373- π (istrue (uniq beq (undup beq l ))) ≔
1366+ opaque symbol undup_uniq [a ] beq (l :𝕃 a ) : π (uniq beq (undup beq l )) ≔
13741367begin
13751368 assume a beq ; induction
13761369 { apply ⊤ᵢ; }
@@ -1389,7 +1382,7 @@ begin
13891382abort ;
13901383
13911384opaque symbol count_undup [a ] beq p (l :𝕃 a ) :
1392- π (istrue ( count p (undup beq l ) ≤ count p l ) ) ≔
1385+ π (count p (undup beq l ) ≤ count p l ) ≔
13931386begin
13941387abort ;
13951388
0 commit comments