Step * 1 1 1 1 1 of Lemma transitive-closure-minimal


1. Type
2. A ⟶ A ⟶ ℙ
3. A ⟶ A ⟶ ℙ
4. x:A ⟶ y:A ⟶ (x y) ⟶ (x y)
5. : ∀a,b,c:A.  ((a b)  (b c)  (a c))
6. (a:A × b:A × (R b)) List
⊢ ∀x,y,b:A.
    (rel_path(A;v;b;y)
     (∀q:x b
          (accumulate (with value and list item y):
            let a,b,q1 in 
            let b',c,r in 
            <a, c, q1 (F r)>
           over list:
             v
           with starting value:
            <x, b, q>) ∈ ∃w:{a:A × b:A × (Q b)| (((fst(w)) x ∈ A) ∧ ((fst(snd(w))) y ∈ A))})))
BY
(Unfold `sq_exists` 0
   THEN ListInd (-1)
   THEN Try (RepeatFor (D (-3)))
   THEN RepUR ``rel_path`` 0⋅
   THEN Try (Fold `rel_path` 0)
   THEN (UnivCD THENA Auto)
   THEN Try ((BackThruSomeHyp THEN Auto)))⋅ }

1
1. Type
2. A ⟶ A ⟶ ℙ
3. A ⟶ A ⟶ ℙ
4. x:A ⟶ y:A ⟶ (x y) ⟶ (x y)
5. : ∀a,b,c:A.  ((a b)  (b c)  (a c))
6. A
7. A
8. A
9. y ∈ A
10. b
⊢ <x, b, q> ∈ {w:a:A × b:A × (Q b)| ((fst(w)) x ∈ A) ∧ ((fst(snd(w))) y ∈ A)} 


Latex:


Latex:

1.  A  :  Type
2.  R  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}
3.  Q  :  A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}
4.  F  :  x:A  {}\mrightarrow{}  y:A  {}\mrightarrow{}  (x  R  y)  {}\mrightarrow{}  (x  Q  y)
5.  g  :  \mforall{}a,b,c:A.    ((a  Q  b)  {}\mRightarrow{}  (b  Q  c)  {}\mRightarrow{}  (a  Q  c))
6.  v  :  (a:A  \mtimes{}  b:A  \mtimes{}  (R  a  b))  List
\mvdash{}  \mforall{}x,y,b:A.
        (rel\_path(A;v;b;y)
        {}\mRightarrow{}  (\mforall{}q:x  Q  b
                    (accumulate  (with  value  x  and  list  item  y):
                        let  a,b,q1  =  x  in 
                        let  b',c,r  =  y  in 
                        <a,  c,  g  a  b  c  q1  (F  b  c  r)>
                      over  list:
                          v
                      with  starting  value:
                        <x,  b,  q>)  \mmember{}  \mexists{}w:\{a:A  \mtimes{}  b:A  \mtimes{}  (Q  a  b)|  (((fst(w))  =  x)  \mwedge{}  ((fst(snd(w)))  =  y))\})))


By


Latex:
(Unfold  `sq\_exists`  0
  THEN  ListInd  (-1)
  THEN  Try  (RepeatFor  2  (D  (-3)))
  THEN  RepUR  ``rel\_path``  0\mcdot{}
  THEN  Try  (Fold  `rel\_path`  0)
  THEN  (UnivCD  THENA  Auto)
  THEN  Try  ((BackThruSomeHyp  THEN  Auto)))\mcdot{}




Home Index