Step * 1 of Lemma compose-tuple-recodings_wf


1. r1 L:(Type List) ⟶ (L':Type List
                         × h:tuple-type(L) ⟶ tuple-type(L')
                         × {j:tuple-type(L') ⟶ tuple-type(L)| ∀s:tuple-type(L). ((j (h s)) s ∈ tuple-type(L))} )
2. r2 L:(Type List) ⟶ (L':Type List
                         × h:tuple-type(L) ⟶ tuple-type(L')
                         × {j:tuple-type(L') ⟶ tuple-type(L)| ∀s:tuple-type(L). ((j (h s)) s ∈ tuple-type(L))} )
3. L1 Type List
4. L' Type List
5. tuple-type(L1) ⟶ tuple-type(L')
6. v2 {j:tuple-type(L') ⟶ tuple-type(L1)| ∀s:tuple-type(L1). ((j (h s)) s ∈ tuple-type(L1))} 
7. (r1 L1)
= <L', h, v2>
∈ (L':Type List
  × h:tuple-type(L1) ⟶ tuple-type(L')
  × {j:tuple-type(L') ⟶ tuple-type(L1)| ∀s:tuple-type(L1). ((j (h s)) s ∈ tuple-type(L1))} )
8. L'@0 Type List
9. h1 tuple-type(L') ⟶ tuple-type(L'@0)
10. v4 {j:tuple-type(L'@0) ⟶ tuple-type(L')| ∀s:tuple-type(L'). ((j (h1 s)) s ∈ tuple-type(L'))} 
11. (r2 L')
= <L'@0, h1, v4>
∈ (L'@0:Type List
  × h:tuple-type(L') ⟶ tuple-type(L'@0)
  × {j:tuple-type(L'@0) ⟶ tuple-type(L')| ∀s:tuple-type(L'). ((j (h s)) s ∈ tuple-type(L'))} )
12. tuple-type(L1)
⊢ ((v2 v4) (h1 (h s))) s ∈ tuple-type(L1)
BY
(DVar `v2' THEN DVar `v4' THEN Reduce THEN RWO "-3" THEN Auto)⋅ }


Latex:


Latex:

1.  r1  :  L:(Type  List)  {}\mrightarrow{}  (L':Type  List
                                                  \mtimes{}  h:tuple-type(L)  {}\mrightarrow{}  tuple-type(L')
                                                  \mtimes{}  \{j:tuple-type(L')  {}\mrightarrow{}  tuple-type(L)|  \mforall{}s:tuple-type(L).  ((j  (h  s))  =  s)\}  )
2.  r2  :  L:(Type  List)  {}\mrightarrow{}  (L':Type  List
                                                  \mtimes{}  h:tuple-type(L)  {}\mrightarrow{}  tuple-type(L')
                                                  \mtimes{}  \{j:tuple-type(L')  {}\mrightarrow{}  tuple-type(L)|  \mforall{}s:tuple-type(L).  ((j  (h  s))  =  s)\}  )
3.  L1  :  Type  List
4.  L'  :  Type  List
5.  h  :  tuple-type(L1)  {}\mrightarrow{}  tuple-type(L')
6.  v2  :  \{j:tuple-type(L')  {}\mrightarrow{}  tuple-type(L1)|  \mforall{}s:tuple-type(L1).  ((j  (h  s))  =  s)\} 
7.  (r1  L1)  =  <L',  h,  v2>
8.  L'@0  :  Type  List
9.  h1  :  tuple-type(L')  {}\mrightarrow{}  tuple-type(L'@0)
10.  v4  :  \{j:tuple-type(L'@0)  {}\mrightarrow{}  tuple-type(L')|  \mforall{}s:tuple-type(L').  ((j  (h1  s))  =  s)\} 
11.  (r2  L')  =  <L'@0,  h1,  v4>
12.  s  :  tuple-type(L1)
\mvdash{}  ((v2  o  v4)  (h1  (h  s)))  =  s


By


Latex:
(DVar  `v2'  THEN  DVar  `v4'  THEN  Reduce  0  THEN  RWO  "-3"  0  THEN  Auto)\mcdot{}




Home Index