Step
*
1
2
2
1
2
1
1
of Lemma
rec-op-bind-class_wf
1. Info : Type
2. A : Type
3. B : Type
4. X : A ⟶ es:EO+(Info) ⟶ e:E ⟶ bag(B)
5. Y : A ⟶ es:EO+(Info) ⟶ e:E ⟶ bag(A)
6. F : A ⟶ bag(B) ⟶ bag(B)
7. ∀x,a:A. ∀es:EO+(Info). ∀e:E.  (a ∈ Y x(e) 
⇒ (∀w:A. (¬w ∈ Y a(e))))
8. n : ℤ
9. 0 < n
10. ∀es:EO+(Info). ∀e:E.  (||≤loc(e)|| < n - 1 
⇒ (∀a:A. (rec-op-bind-class(X;Y;F) a es e ∈ bag(B))))
11. es : EO+(Info)@i'
12. e : E@i
13. ||≤loc(e)|| < n@i
14. a : A@i
15. e' : E@i
16. e' ≤loc e @i
17. x : A@i
18. x ∈ Y a(e')@i
19. z : E@i
20. e' ≤loc z  ∧ z ≤loc e @i
21. x1 : A@i
22. x1 ∈ Y x(z)@i
⊢ rec-op-bind-class(X;Y;F) x1 es.e'.z e ∈ bag(B)
BY
{ (BackThruSomeHyp
   THEN Auto
   THEN Try ((Try (Unfold `label` 0) THEN RWO "eo-forward-le" 0 THEN Auto))
   THEN RenameVar `w' (-2)
   THEN (InstHyp [⌜a⌝;⌜x⌝;⌜es⌝;⌜e'⌝;⌜w⌝] 7⋅ THENA Auto)
   THEN D (-5)
   THEN Try (((Assert e' = z ∈ E BY (BLemma `equal-eo-forward-E` THEN Auto)) THEN D -2 THEN Complete (Auto))))⋅ }
1
1. Info : Type
2. A : Type
3. B : Type
4. X : A ⟶ es:EO+(Info) ⟶ e:E ⟶ bag(B)
5. Y : A ⟶ es:EO+(Info) ⟶ e:E ⟶ bag(A)
6. F : A ⟶ bag(B) ⟶ bag(B)
7. ∀x,a:A. ∀es:EO+(Info). ∀e:E.  (a ∈ Y x(e) 
⇒ (∀w:A. (¬w ∈ Y a(e))))
8. n : ℤ
9. 0 < n
10. ∀es:EO+(Info). ∀e:E.  (||≤loc(e)|| < n - 1 
⇒ (∀a:A. (rec-op-bind-class(X;Y;F) a es e ∈ bag(B))))
11. es : EO+(Info)@i'
12. e : E@i
13. ||≤loc(e)|| < n@i
14. a : A@i
15. e' : E@i
16. e' ≤loc e @i
17. x : A@i
18. x ∈ Y a(e')@i
19. z : E@i
20. (e' <loc z)@i
21. z ≤loc e @i
22. w : A@i
23. w ∈ Y x(z)@i
24. ¬w ∈ Y x(e')
⊢ ||≤loc(e)|| < n - 1
Latex:
Latex:
1.  Info  :  Type
2.  A  :  Type
3.  B  :  Type
4.  X  :  A  {}\mrightarrow{}  es:EO+(Info)  {}\mrightarrow{}  e:E  {}\mrightarrow{}  bag(B)
5.  Y  :  A  {}\mrightarrow{}  es:EO+(Info)  {}\mrightarrow{}  e:E  {}\mrightarrow{}  bag(A)
6.  F  :  A  {}\mrightarrow{}  bag(B)  {}\mrightarrow{}  bag(B)
7.  \mforall{}x,a:A.  \mforall{}es:EO+(Info).  \mforall{}e:E.    (a  \mmember{}  Y  x(e)  {}\mRightarrow{}  (\mforall{}w:A.  (\mneg{}w  \mmember{}  Y  a(e))))
8.  n  :  \mBbbZ{}
9.  0  <  n
10.  \mforall{}es:EO+(Info).  \mforall{}e:E.
            (||\mleq{}loc(e)||  <  n  -  1  {}\mRightarrow{}  (\mforall{}a:A.  (rec-op-bind-class(X;Y;F)  a  es  e  \mmember{}  bag(B))))
11.  es  :  EO+(Info)@i'
12.  e  :  E@i
13.  ||\mleq{}loc(e)||  <  n@i
14.  a  :  A@i
15.  e'  :  E@i
16.  e'  \mleq{}loc  e  @i
17.  x  :  A@i
18.  x  \mmember{}  Y  a(e')@i
19.  z  :  E@i
20.  e'  \mleq{}loc  z    \mwedge{}  z  \mleq{}loc  e  @i
21.  x1  :  A@i
22.  x1  \mmember{}  Y  x(z)@i
\mvdash{}  rec-op-bind-class(X;Y;F)  x1  es.e'.z  e  \mmember{}  bag(B)
By
Latex:
(BackThruSomeHyp
  THEN  Auto
  THEN  Try  ((Try  (Unfold  `label`  0)  THEN  RWO  "eo-forward-le"  0  THEN  Auto))
  THEN  RenameVar  `w'  (-2)
  THEN  (InstHyp  [\mkleeneopen{}a\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}e'\mkleeneclose{};\mkleeneopen{}w\mkleeneclose{}]  7\mcdot{}  THENA  Auto)
  THEN  D  (-5)
  THEN  Try  (((Assert  e'  =  z  BY
                                      (BLemma  `equal-eo-forward-E`  THEN  Auto))
                        THEN  D  -2
                        THEN  Complete  (Auto))))\mcdot{}
Home
Index