@@ -1520,6 +1520,13 @@ <h1 class="libtitle">AltAuto<span class="subtitle">A Streamlined Treatment of Au
1520
1520
< a class ="idref " href ="Poly.html#length "> < span class ="id " title ="definition "> length</ span > </ a > < a class ="idref " href ="AltAuto.html#s<sub>1</sub>:159 "> < span class ="id " title ="variable "> s< sub > 1</ sub > </ span > </ a > < a class ="idref " href ="Basics.html#0dacc1786c5ba797d47dd85006231633 "> < span class ="id " title ="notation "> +</ span > </ a > < a class ="idref " href ="Poly.html#length "> < span class ="id " title ="definition "> length</ span > </ a > < a class ="idref " href ="AltAuto.html#s<sub>2</sub>:160 "> < span class ="id " title ="variable "> s< sub > 2</ sub > </ span > </ a > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a<sub>3</sub> "> < span class ="id " title ="notation "> ≤</ span > </ a > < a class ="idref " href ="IndProp.html#Pumping.pumping_constant "> < span class ="id " title ="definition "> pumping_constant</ span > </ a > < a class ="idref " href ="AltAuto.html#re:157 "> < span class ="id " title ="variable "> re</ span > </ a > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd "> < span class ="id " title ="notation "> ∧</ span > </ a > < br />
1521
1521
< span class ="id " title ="keyword "> ∀</ span > < a id ="m:162 " class ="idref " href ="#m:162 "> < span class ="id " title ="binder "> m</ span > </ a > , < a class ="idref " href ="AltAuto.html#s<sub>1</sub>:159 "> < span class ="id " title ="variable "> s< sub > 1</ sub > </ span > </ a > < a class ="idref " href ="Poly.html#f03f7a04ef75ff3ac66ca5c23554e52e "> < span class ="id " title ="notation "> ++</ span > </ a > < a class ="idref " href ="IndProp.html#Pumping.napp "> < span class ="id " title ="definition "> napp</ span > </ a > < a class ="idref " href ="AltAuto.html#m:162 "> < span class ="id " title ="variable "> m</ span > </ a > < a class ="idref " href ="AltAuto.html#s<sub>2</sub>:160 "> < span class ="id " title ="variable "> s< sub > 2</ sub > </ span > </ a > < a class ="idref " href ="Poly.html#f03f7a04ef75ff3ac66ca5c23554e52e "> < span class ="id " title ="notation "> ++</ span > </ a > < a class ="idref " href ="AltAuto.html#s<sub>3</sub>:161 "> < span class ="id " title ="variable "> s< sub > 3</ sub > </ span > </ a > < a class ="idref " href ="IndProp.html#70ea788eca33f3ac1bb7ed2e8169c791 "> < span class ="id " title ="notation "> =~</ span > </ a > < a class ="idref " href ="AltAuto.html#re:157 "> < span class ="id " title ="variable "> re</ span > </ a > .< br /> < hr class ='doublespaceincode '/>
1522
1522
< span class ="id " title ="keyword "> Proof</ span > .< br />
1523
+ < span class ="id " title ="tactic "> intros</ span > < span class ="id " title ="var "> T</ span > < span class ="id " title ="var "> re</ span > < span class ="id " title ="var "> s</ span > < span class ="id " title ="var "> Hmatch</ span > .< br />
1524
+ < span class ="id " title ="tactic "> induction</ span > < span class ="id " title ="var "> Hmatch</ span > < br />
1525
+ < span class ="id " title ="keyword "> as</ span > [ | < span class ="id " title ="var "> x</ span > | < span class ="id " title ="var "> s< sub > 1</ sub > </ span > < span class ="id " title ="var "> re< sub > 1</ sub > </ span > < span class ="id " title ="var "> s< sub > 2</ sub > </ span > < span class ="id " title ="var "> re< sub > 2</ sub > </ span > < span class ="id " title ="var "> Hmatch1</ span > < span class ="id " title ="var "> IH< sub > 1</ sub > </ span > < span class ="id " title ="var "> Hmatch2</ span > < span class ="id " title ="var "> IH< sub > 2</ sub > </ span > < br />
1526
+ | < span class ="id " title ="var "> s< sub > 1</ sub > </ span > < span class ="id " title ="var "> re< sub > 1</ sub > </ span > < span class ="id " title ="var "> re< sub > 2</ sub > </ span > < span class ="id " title ="var "> Hmatch</ span > < span class ="id " title ="var "> IH</ span > | < span class ="id " title ="var "> re< sub > 1</ sub > </ span > < span class ="id " title ="var "> s< sub > 2</ sub > </ span > < span class ="id " title ="var "> re< sub > 2</ sub > </ span > < span class ="id " title ="var "> Hmatch</ span > < span class ="id " title ="var "> IH</ span > < br />
1527
+ | < span class ="id " title ="var "> re</ span > | < span class ="id " title ="var "> s< sub > 1</ sub > </ span > < span class ="id " title ="var "> s< sub > 2</ sub > </ span > < span class ="id " title ="var "> re</ span > < span class ="id " title ="var "> Hmatch1</ span > < span class ="id " title ="var "> IH< sub > 1</ sub > </ span > < span class ="id " title ="var "> Hmatch2</ span > < span class ="id " title ="var "> IH< sub > 2</ sub > </ span > ];< br />
1528
+ < span class ="id " title ="tactic "> simpl</ span > ; < span class ="id " title ="tactic "> try</ span > < span class ="id " title ="var "> lia</ span > ;< br />
1529
+ < span class ="id " title ="tactic "> intros</ span > < span class ="id " title ="var "> Hlen</ span > .< br />
1523
1530
< span class ="comment "> (* FILL IN HERE *)</ span > < span class ="id " title ="var "> Admitted</ span > .< br />
1524
1531
< span class ="comment "> (* Do not modify the following line: *)</ span > < br />
1525
1532
< span class ="id " title ="keyword "> Definition</ span > < a id ="manual_grade_for_pumping_redux_strong " class ="idref " href ="#manual_grade_for_pumping_redux_strong "> < span class ="id " title ="definition "> manual_grade_for_pumping_redux_strong</ span > </ a > : < a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Datatypes.html#option "> < span class ="id " title ="inductive "> option</ span > </ a > (< a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Datatypes.html#nat "> < span class ="id " title ="inductive "> nat</ span > </ a > < a class ="idref " href ="Poly.html#11c698c8685bb8ab1cf725545c085ac<sub>4</sub> "> < span class ="id " title ="notation "> ×</ span > </ a > < a class ="idref " href ="IndProp.html#string "> < span class ="id " title ="definition "> string</ span > </ a > ) := < a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Datatypes.html#None "> < span class ="id " title ="constructor "> None</ span > </ a > .< br />
@@ -1545,7 +1552,7 @@ <h1 class="libtitle">AltAuto<span class="subtitle">A Streamlined Treatment of Au
1545
1552
< a class ="idref " href ="AltAuto.html#a:163 "> < span class ="id " title ="variable "> a</ span > </ a > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a<sub>3</sub> "> < span class ="id " title ="notation "> ≤</ span > </ a > < a class ="idref " href ="AltAuto.html#d:166 "> < span class ="id " title ="variable "> d</ span > </ a > .< br />
1546
1553
< span class ="id " title ="keyword "> Proof</ span > .< br />
1547
1554
< span class ="id " title ="tactic "> intros</ span > < span class ="id " title ="var "> a</ span > < span class ="id " title ="var "> b</ span > < span class ="id " title ="var "> c</ span > < span class ="id " title ="var "> d</ span > < span class ="id " title ="var "> H< sub > 1</ sub > </ span > < span class ="id " title ="var "> H< sub > 2</ sub > </ span > .< br />
1548
- < span class ="id " title ="tactic "> apply</ span > < a class ="idref " href ="IndProp. html#le_trans "> < span class ="id " title ="axiom " > le_trans</ span > </ a > < span class ="id " title ="keyword "> with</ span > (< span class ="id " title ="var "> b</ span > < a class ="idref " href ="Basics.html#0dacc1786c5ba797d47dd85006231633 "> < span class ="id " title ="notation "> +</ span > </ a > < span class ="id " title ="var "> b</ span > < a class ="idref " href ="Basics.html#ea2ff3d561159081cea6fb2e8113cc<sub>54</sub> "> < span class ="id " title ="notation "> ×</ span > </ a > < span class ="id " title ="var "> c</ span > ).< br />
1555
+ < span class ="id " title ="tactic "> apply</ span > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Arith.PeanoNat. html#Nat. le_trans "> < span class ="id " title ="lemma " > Nat. le_trans</ span > </ a > < span class ="id " title ="keyword "> with</ span > (< span class ="id " title ="var "> b</ span > < a class ="idref " href ="Basics.html#0dacc1786c5ba797d47dd85006231633 "> < span class ="id " title ="notation "> +</ span > </ a > < span class ="id " title ="var "> b</ span > < a class ="idref " href ="Basics.html#ea2ff3d561159081cea6fb2e8113cc<sub>54</sub> "> < span class ="id " title ="notation "> ×</ span > </ a > < span class ="id " title ="var "> c</ span > ).< br />
1549
1556
< span class ="comment "> (* ^ We must supply the intermediate value *)</ span > < br />
1550
1557
- < span class ="id " title ="tactic "> apply</ span > < span class ="id " title ="var "> H< sub > 1</ sub > </ span > .< br />
1551
1558
- < span class ="id " title ="tactic "> simpl</ span > < span class ="id " title ="keyword "> in</ span > < span class ="id " title ="var "> H< sub > 2</ sub > </ span > . < span class ="id " title ="tactic "> rewrite</ span > < a class ="idref " href ="Induction.html#mul_comm "> < span class ="id " title ="axiom "> mul_comm</ span > </ a > . < span class ="id " title ="tactic "> apply</ span > < span class ="id " title ="var "> H< sub > 2</ sub > </ span > .< br />
@@ -1579,7 +1586,7 @@ <h1 class="libtitle">AltAuto<span class="subtitle">A Streamlined Treatment of Au
1579
1586
< a class ="idref " href ="AltAuto.html#a:167 "> < span class ="id " title ="variable "> a</ span > </ a > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a<sub>3</sub> "> < span class ="id " title ="notation "> ≤</ span > </ a > < a class ="idref " href ="AltAuto.html#d:170 "> < span class ="id " title ="variable "> d</ span > </ a > .< br />
1580
1587
< span class ="id " title ="keyword "> Proof</ span > .< br />
1581
1588
< span class ="id " title ="tactic "> intros</ span > < span class ="id " title ="var "> a</ span > < span class ="id " title ="var "> b</ span > < span class ="id " title ="var "> c</ span > < span class ="id " title ="var "> d</ span > < span class ="id " title ="var "> H< sub > 1</ sub > </ span > < span class ="id " title ="var "> H< sub > 2</ sub > </ span > .< br />
1582
- < span class ="id " title ="tactic "> eapply</ span > < a class ="idref " href ="IndProp. html#le_trans "> < span class ="id " title ="axiom " > le_trans</ span > </ a > . < span class ="comment "> (* 1 *)</ span > < br />
1589
+ < span class ="id " title ="tactic "> eapply</ span > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Arith.PeanoNat. html#Nat. le_trans "> < span class ="id " title ="lemma " > Nat. le_trans</ span > </ a > . < span class ="comment "> (* 1 *)</ span > < br />
1583
1590
- < span class ="id " title ="tactic "> apply</ span > < span class ="id " title ="var "> H< sub > 1</ sub > </ span > . < span class ="comment "> (* 2 *)</ span > < br />
1584
1591
- < span class ="id " title ="tactic "> simpl</ span > < span class ="id " title ="keyword "> in</ span > < span class ="id " title ="var "> H< sub > 2</ sub > </ span > . < span class ="id " title ="tactic "> rewrite</ span > < a class ="idref " href ="Induction.html#mul_comm "> < span class ="id " title ="axiom "> mul_comm</ span > </ a > . < span class ="id " title ="tactic "> apply</ span > < span class ="id " title ="var "> H< sub > 2</ sub > </ span > .< br />
1585
1592
< span class ="id " title ="keyword "> Qed</ span > .< br />
@@ -1615,7 +1622,7 @@ <h1 class="libtitle">AltAuto<span class="subtitle">A Streamlined Treatment of Au
1615
1622
< a class ="idref " href ="AltAuto.html#a:171 "> < span class ="id " title ="variable "> a</ span > </ a > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Init.Peano.html#cb53cf0ee22c036a03b4a9281c68b5a<sub>3</sub> "> < span class ="id " title ="notation "> ≤</ span > </ a > < a class ="idref " href ="AltAuto.html#d:174 "> < span class ="id " title ="variable "> d</ span > </ a > .< br />
1616
1623
< span class ="id " title ="keyword "> Proof</ span > .< br />
1617
1624
< span class ="id " title ="tactic "> intros</ span > < span class ="id " title ="var "> a</ span > < span class ="id " title ="var "> b</ span > < span class ="id " title ="var "> c</ span > < span class ="id " title ="var "> d</ span > < span class ="id " title ="var "> H< sub > 1</ sub > </ span > < span class ="id " title ="var "> H< sub > 2</ sub > </ span > .< br />
1618
- < span class ="id " title ="tactic "> info_eauto</ span > < span class ="id " title ="keyword "> using</ span > < a class ="idref " href ="IndProp. html#le_trans "> < span class ="id " title ="axiom " > le_trans</ span > </ a > .< br />
1625
+ < span class ="id " title ="tactic "> info_eauto</ span > < span class ="id " title ="keyword "> using</ span > < a class ="idref " href ="http://coq.inria.fr/library//Coq.Arith.PeanoNat. html#Nat. le_trans "> < span class ="id " title ="lemma " > Nat. le_trans</ span > </ a > .< br />
1619
1626
< span class ="id " title ="keyword "> Qed</ span > .< br />
1620
1627
</ div >
1621
1628
@@ -2410,7 +2417,7 @@ <h1 class="libtitle">AltAuto<span class="subtitle">A Streamlined Treatment of Au
2410
2417
</ div >
2411
2418
< div class ="code ">
2412
2419
2413
- < span class ="comment "> (* 2024-08-25 18:03 *)</ span > < br />
2420
+ < span class ="comment "> (* 2024-08-30 14:17 *)</ span > < br />
2414
2421
</ div >
2415
2422
</ div >
2416
2423
0 commit comments