Skip to content
Snippets Groups Projects
Commit 67183a36 authored by Ralf Jung's avatar Ralf Jung
Browse files

add lemma names to proofmode.ref

parent a4f0f4b0
No related branches found
No related tags found
No related merge requests found
"demo_0"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -19,6 +21,8 @@ ...@@ -19,6 +21,8 @@
--------------------------------------□ --------------------------------------□
Q ∨ P Q ∨ P
"test_iDestruct_and_emp"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -59,6 +63,8 @@ In nested Ltac calls to "iSpecialize (open_constr)", ...@@ -59,6 +63,8 @@ In nested Ltac calls to "iSpecialize (open_constr)",
"iSpecializePat (open_constr) (constr)" and "iSpecializePat_go", last call "iSpecializePat (open_constr) (constr)" and "iSpecializePat_go", last call
failed. failed.
Tactic failure: iSpecialize: cannot instantiate (⌜φ⌝ → P -∗ False)%I with P. Tactic failure: iSpecialize: cannot instantiate (⌜φ⌝ → P -∗ False)%I with P.
"test_iNext_plus_3"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -68,6 +74,8 @@ Tactic failure: iSpecialize: cannot instantiate (⌜φ⌝ → P -∗ False)%I wi ...@@ -68,6 +74,8 @@ Tactic failure: iSpecialize: cannot instantiate (⌜φ⌝ → P -∗ False)%I wi
--------------------------------------∗ --------------------------------------∗
▷^(S n + S m) emp ▷^(S n + S m) emp
"test_iFrame_later_1"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -76,6 +84,8 @@ Tactic failure: iSpecialize: cannot instantiate (⌜φ⌝ → P -∗ False)%I wi ...@@ -76,6 +84,8 @@ Tactic failure: iSpecialize: cannot instantiate (⌜φ⌝ → P -∗ False)%I wi
--------------------------------------∗ --------------------------------------∗
▷ emp ▷ emp
"test_iFrame_later_2"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -89,6 +99,8 @@ In nested Ltac calls to "iFrame (constr)", ...@@ -89,6 +99,8 @@ In nested Ltac calls to "iFrame (constr)",
"<iris.proofmode.ltac_tactics.iFrame_go>" and "<iris.proofmode.ltac_tactics.iFrame_go>" and
"<iris.proofmode.ltac_tactics.iFrameHyp>", last call failed. "<iris.proofmode.ltac_tactics.iFrameHyp>", last call failed.
Tactic failure: iFrame: cannot frame Q. Tactic failure: iFrame: cannot frame Q.
"test_and_sep_affine_bi"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -100,6 +112,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -100,6 +112,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
□ P □ P
"test_big_sepL_simpl"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -126,6 +140,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -126,6 +140,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
P P
"test_big_sepL2_simpl"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -153,6 +169,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -153,6 +169,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
P ∨ True ∗ ([∗ list] _;_ ∈ l1;l2, True) P ∨ True ∗ ([∗ list] _;_ ∈ l1;l2, True)
"test_big_sepL2_iDestruct"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -165,6 +183,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -165,6 +183,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
<absorb> Φ x1 x2 <absorb> Φ x1 x2
"test_reducing_after_iDestruct"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -173,6 +193,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -173,6 +193,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
True True
"test_reducing_after_iApply"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -181,6 +203,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -181,6 +203,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------□ --------------------------------------□
□ emp □ emp
"test_reducing_after_iApply_late_evar"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -189,6 +213,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -189,6 +213,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------□ --------------------------------------□
□ emp □ emp
"test_wandM"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -227,6 +253,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -227,6 +253,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
|={E2,E1}=> True |={E2,E1}=> True
"print_long_line_1"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -249,6 +277,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -249,6 +277,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
True True
"print_long_line_2"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -271,6 +301,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -271,6 +301,8 @@ Tactic failure: iFrame: cannot frame Q.
--------------------------------------∗ --------------------------------------∗
True True
"long_impl"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -281,6 +313,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -281,6 +313,8 @@ Tactic failure: iFrame: cannot frame Q.
PPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPP
→ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ → QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
"long_impl_nested"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -292,6 +326,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -292,6 +326,8 @@ Tactic failure: iFrame: cannot frame Q.
→ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ → QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
→ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ → QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
"long_wand"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -302,6 +338,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -302,6 +338,8 @@ Tactic failure: iFrame: cannot frame Q.
PPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPP
-∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ -∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
"long_wand_nested"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -313,6 +351,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -313,6 +351,8 @@ Tactic failure: iFrame: cannot frame Q.
-∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ -∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
-∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ -∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
"long_fupd"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
...@@ -324,6 +364,8 @@ Tactic failure: iFrame: cannot frame Q. ...@@ -324,6 +364,8 @@ Tactic failure: iFrame: cannot frame Q.
PPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPP
={E}=∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ={E}=∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ ∗ QQQQQQQQQQQQQQQQQQ
"long_fupd_nested"
: string
1 subgoal 1 subgoal
PROP : sbi PROP : sbi
......
...@@ -6,6 +6,7 @@ Section tests. ...@@ -6,6 +6,7 @@ Section tests.
Context {PROP : sbi}. Context {PROP : sbi}.
Implicit Types P Q R : PROP. Implicit Types P Q R : PROP.
Check "demo_0".
Lemma demo_0 P Q : (P Q) -∗ ( x, x = 0 x = 1) (Q P). Lemma demo_0 P Q : (P Q) -∗ ( x, x = 0 x = 1) (Q P).
Proof. Proof.
iIntros "H #H2". Show. iDestruct "H" as "###H". iIntros "H #H2". Show. iDestruct "H" as "###H".
...@@ -52,6 +53,7 @@ Proof. ...@@ -52,6 +53,7 @@ Proof.
auto. auto.
Qed. Qed.
Check "test_iDestruct_and_emp".
Lemma test_iDestruct_and_emp P Q `{!Persistent P, !Persistent Q} : Lemma test_iDestruct_and_emp P Q `{!Persistent P, !Persistent Q} :
P emp -∗ emp Q -∗ <affine> (P Q). P emp -∗ emp Q -∗ <affine> (P Q).
Proof. iIntros "[#? _] [_ #?]". Show. auto. Qed. Proof. iIntros "[#? _] [_ #?]". Show. auto. Qed.
...@@ -365,6 +367,7 @@ Lemma test_iNext_plus_1 P n1 n2 : ▷ ▷^n1 ▷^n2 P -∗ ▷^n1 ▷^n2 ▷ P. ...@@ -365,6 +367,7 @@ Lemma test_iNext_plus_1 P n1 n2 : ▷ ▷^n1 ▷^n2 P -∗ ▷^n1 ▷^n2 ▷ P.
Proof. iIntros "H". iNext. iNext. by iNext. Qed. Proof. iIntros "H". iNext. iNext. by iNext. Qed.
Lemma test_iNext_plus_2 P n m : ▷^n ▷^m P -∗ ▷^(n+m) P. Lemma test_iNext_plus_2 P n m : ▷^n ▷^m P -∗ ▷^(n+m) P.
Proof. iIntros "H". iNext. done. Qed. Proof. iIntros "H". iNext. done. Qed.
Check "test_iNext_plus_3".
Lemma test_iNext_plus_3 P Q n m k : Lemma test_iNext_plus_3 P Q n m k :
▷^m ▷^(2 + S n + k) P -∗ ▷^m ▷^(2 + S n) Q -∗ ▷^k ▷^(S (S n + S m)) (P Q). ▷^m ▷^(2 + S n + k) P -∗ ▷^m ▷^(2 + S n) Q -∗ ▷^k ▷^(S (S n + S m)) (P Q).
Proof. iIntros "H1 H2". iNext. iNext. iNext. iFrame. Show. iModIntro. done. Qed. Proof. iIntros "H1 H2". iNext. iNext. iNext. iFrame. Show. iModIntro. done. Qed.
...@@ -408,9 +411,11 @@ Lemma test_iPureIntro_absorbing (φ : Prop) : ...@@ -408,9 +411,11 @@ Lemma test_iPureIntro_absorbing (φ : Prop) :
φ sbi_emp_valid (PROP:=PROP) (<absorb> φ)%I. φ sbi_emp_valid (PROP:=PROP) (<absorb> φ)%I.
Proof. intros ?. iPureIntro. done. Qed. Proof. intros ?. iPureIntro. done. Qed.
Check "test_iFrame_later_1".
Lemma test_iFrame_later_1 P Q : P Q -∗ (P Q). Lemma test_iFrame_later_1 P Q : P Q -∗ (P Q).
Proof. iIntros "H". iFrame "H". Show. auto. Qed. Proof. iIntros "H". iFrame "H". Show. auto. Qed.
Check "test_iFrame_later_2".
Lemma test_iFrame_later_2 P Q : P Q -∗ ( P Q). Lemma test_iFrame_later_2 P Q : P Q -∗ ( P Q).
Proof. iIntros "H". iFrame "H". Show. auto. Qed. Proof. iIntros "H". iFrame "H". Show. auto. Qed.
...@@ -480,11 +485,13 @@ Proof. ...@@ -480,11 +485,13 @@ Proof.
- iDestruct "H" as "[_ [_ #$]]". - iDestruct "H" as "[_ [_ #$]]".
Qed. Qed.
Check "test_and_sep_affine_bi".
Lemma test_and_sep_affine_bi `{BiAffine PROP} P Q : P Q P Q. Lemma test_and_sep_affine_bi `{BiAffine PROP} P Q : P Q P Q.
Proof. Proof.
iIntros "[??]". iSplit; last done. Show. done. iIntros "[??]". iSplit; last done. Show. done.
Qed. Qed.
Check "test_big_sepL_simpl".
Lemma test_big_sepL_simpl x (l : list nat) P : Lemma test_big_sepL_simpl x (l : list nat) P :
P -∗ P -∗
([ list] ky l, <affine> y = y ) -∗ ([ list] ky l, <affine> y = y ) -∗
...@@ -492,6 +499,7 @@ Lemma test_big_sepL_simpl x (l : list nat) P : ...@@ -492,6 +499,7 @@ Lemma test_big_sepL_simpl x (l : list nat) P :
P. P.
Proof. iIntros "HP ??". Show. simpl. Show. done. Qed. Proof. iIntros "HP ??". Show. simpl. Show. done. Qed.
Check "test_big_sepL2_simpl".
Lemma test_big_sepL2_simpl x1 x2 (l1 l2 : list nat) P : Lemma test_big_sepL2_simpl x1 x2 (l1 l2 : list nat) P :
P -∗ P -∗
([ list] ky1;y2 []; l2, <affine> y1 = y2 ) -∗ ([ list] ky1;y2 []; l2, <affine> y1 = y2 ) -∗
...@@ -499,6 +507,7 @@ Lemma test_big_sepL2_simpl x1 x2 (l1 l2 : list nat) P : ...@@ -499,6 +507,7 @@ Lemma test_big_sepL2_simpl x1 x2 (l1 l2 : list nat) P :
P ([ list] y1;y2 x1 :: l1; x2 :: l2, True). P ([ list] y1;y2 x1 :: l1; x2 :: l2, True).
Proof. iIntros "HP ??". Show. simpl. Show. by iLeft. Qed. Proof. iIntros "HP ??". Show. simpl. Show. by iLeft. Qed.
Check "test_big_sepL2_iDestruct".
Lemma test_big_sepL2_iDestruct (Φ : nat nat PROP) x1 x2 (l1 l2 : list nat) : Lemma test_big_sepL2_iDestruct (Φ : nat nat PROP) x1 x2 (l1 l2 : list nat) :
([ list] y1;y2 x1 :: l1; x2 :: l2, Φ y1 y2) -∗ ([ list] y1;y2 x1 :: l1; x2 :: l2, Φ y1 y2) -∗
<absorb> Φ x1 x2. <absorb> Φ x1 x2.
...@@ -512,6 +521,7 @@ Proof. iIntros "$ ?". iFrame. Qed. ...@@ -512,6 +521,7 @@ Proof. iIntros "$ ?". iFrame. Qed.
Lemma test_lemma_1 (b : bool) : Lemma test_lemma_1 (b : bool) :
emp ⊢@{PROP} ?b True. emp ⊢@{PROP} ?b True.
Proof. destruct b; simpl; eauto. Qed. Proof. destruct b; simpl; eauto. Qed.
Check "test_reducing_after_iDestruct".
Lemma test_reducing_after_iDestruct : emp ⊢@{PROP} True. Lemma test_reducing_after_iDestruct : emp ⊢@{PROP} True.
Proof. Proof.
iIntros "H". iDestruct (test_lemma_1 true with "H") as "H". Show. done. iIntros "H". iDestruct (test_lemma_1 true with "H") as "H". Show. done.
...@@ -520,6 +530,7 @@ Qed. ...@@ -520,6 +530,7 @@ Qed.
Lemma test_lemma_2 (b : bool) : Lemma test_lemma_2 (b : bool) :
?b emp ⊢@{PROP} emp. ?b emp ⊢@{PROP} emp.
Proof. destruct b; simpl; eauto. Qed. Proof. destruct b; simpl; eauto. Qed.
Check "test_reducing_after_iApply".
Lemma test_reducing_after_iApply : emp ⊢@{PROP} emp. Lemma test_reducing_after_iApply : emp ⊢@{PROP} emp.
Proof. Proof.
iIntros "#H". iApply (test_lemma_2 true). Show. auto. iIntros "#H". iApply (test_lemma_2 true). Show. auto.
...@@ -528,6 +539,7 @@ Qed. ...@@ -528,6 +539,7 @@ Qed.
Lemma test_lemma_3 (b : bool) : Lemma test_lemma_3 (b : bool) :
?b emp ⊢@{PROP} b = b⌝. ?b emp ⊢@{PROP} b = b⌝.
Proof. destruct b; simpl; eauto. Qed. Proof. destruct b; simpl; eauto. Qed.
Check "test_reducing_after_iApply_late_evar".
Lemma test_reducing_after_iApply_late_evar : emp ⊢@{PROP} true = true⌝. Lemma test_reducing_after_iApply_late_evar : emp ⊢@{PROP} true = true⌝.
Proof. Proof.
iIntros "#H". iApply (test_lemma_3). Show. auto. iIntros "#H". iApply (test_lemma_3). Show. auto.
...@@ -535,6 +547,7 @@ Qed. ...@@ -535,6 +547,7 @@ Qed.
Section wandM. Section wandM.
Import proofmode.base. Import proofmode.base.
Check "test_wandM".
Lemma test_wandM mP Q R : Lemma test_wandM mP Q R :
(mP -∗? Q) -∗ (Q -∗ R) -∗ (mP -∗? R). (mP -∗? Q) -∗ (Q -∗ R) -∗ (mP -∗? R).
Proof. Proof.
...@@ -564,7 +577,8 @@ Proof. iIntros ">Hacc". Show. Abort. ...@@ -564,7 +577,8 @@ Proof. iIntros ">Hacc". Show. Abort.
(* Test line breaking of long assumptions. *) (* Test line breaking of long assumptions. *)
Section linebreaks. Section linebreaks.
Lemma print_long_line (P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P : PROP) : Check "print_long_line_1".
Lemma print_long_line_1 (P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P : PROP) :
P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P
P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P
-∗ True. -∗ True.
...@@ -576,38 +590,45 @@ Abort. ...@@ -576,38 +590,45 @@ Abort.
the proofmode notation breaks the output. *) the proofmode notation breaks the output. *)
Local Notation "'TESTNOTATION' '{{' P '|' Q '}' '}'" := (P Q)%I Local Notation "'TESTNOTATION' '{{' P '|' Q '}' '}'" := (P Q)%I
(format "'TESTNOTATION' '{{' P '|' '/' Q '}' '}'") : bi_scope. (format "'TESTNOTATION' '{{' P '|' '/' Q '}' '}'") : bi_scope.
Lemma print_long_line (P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P : PROP) : Check "print_long_line_2".
Lemma print_long_line_2 (P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P : PROP) :
TESTNOTATION {{ P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P | P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P }} TESTNOTATION {{ P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P | P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P_P }}
-∗ True. -∗ True.
Proof. Proof.
iIntros "HP". Show. Undo. iIntros "?". Show. iIntros "HP". Show. Undo. iIntros "?". Show.
Abort. Abort.
Check "long_impl".
Lemma long_impl (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : Lemma long_impl (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) :
(PPPPPPPPPPPPPPPPP (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I. (PPPPPPPPPPPPPPPPP (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I.
Proof. Proof.
iStartProof. Show. iStartProof. Show.
Abort. Abort.
Check "long_impl_nested".
Lemma long_impl_nested (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : Lemma long_impl_nested (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) :
(PPPPPPPPPPPPPPPPP (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ) (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I. (PPPPPPPPPPPPPPPPP (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ) (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I.
Proof. Proof.
iStartProof. Show. iStartProof. Show.
Abort. Abort.
Check "long_wand".
Lemma long_wand (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : Lemma long_wand (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) :
(PPPPPPPPPPPPPPPPP -∗ (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I. (PPPPPPPPPPPPPPPPP -∗ (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I.
Proof. Proof.
iStartProof. Show. iStartProof. Show.
Abort. Abort.
Check "long_wand_nested".
Lemma long_wand_nested (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : Lemma long_wand_nested (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) :
(PPPPPPPPPPPPPPPPP -∗ (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ) -∗ (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I. (PPPPPPPPPPPPPPPPP -∗ (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ) -∗ (QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ))%I.
Proof. Proof.
iStartProof. Show. iStartProof. Show.
Abort. Abort.
Check "long_fupd".
Lemma long_fupd E (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : Lemma long_fupd E (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) :
PPPPPPPPPPPPPPPPP ={E}=∗ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ. PPPPPPPPPPPPPPPPP ={E}=∗ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ.
Proof. Proof.
iStartProof. Show. iStartProof. Show.
Abort. Abort.
Check "long_fupd_nested".
Lemma long_fupd_nested E1 E2 (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) : Lemma long_fupd_nested E1 E2 (PPPPPPPPPPPPPPPPP QQQQQQQQQQQQQQQQQQ : PROP) :
PPPPPPPPPPPPPPPPP ={E1,E2}=∗ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ PPPPPPPPPPPPPPPPP ={E1,E2}=∗ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ
={E1,E2}=∗ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ. ={E1,E2}=∗ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQ.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment