Step
*
3
1
1
2
of Lemma
cu-filler-cases
.....wf..... 
1. I : Cname List
2. J : nameset(I) List
3. K : Cname List
4. x : nameset(I)
5. f : name-morph(I-[x];K)
6. i : ℕ2
7. box : open_box(c𝕌;I;J;x;i)
8. J ∈ nameset(J) List
9. nameset(J) ⊆r nameset(I-[x])
10. x1 : ∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]
11. l-first(y.¬bisname(f y);J) = (inl x1) ∈ ((∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]) ∨ (∀y∈J.¬↑¬bisname(f y)))
⊢ istype(((∀y∈J.¬↑¬bisname(f y)) ∧ (↑isr(inl x1)))
∧ (f[x:=fresh-cname(K)] ∈ name-morph(I;[fresh-cname(K) / K]))
∧ (nameset([x / J]) ⊆r nameset(I))
∧ (∀z:nameset([x / J]). (↑isname(f[x:=fresh-cname(K)] z)))
∧ (f[x:=fresh-cname(K)] ∈ nameset([x / J]) ⟶ nameset([fresh-cname(K) / K]))
∧ (x ∈ nameset([x / J]))
∧ (nameset([x / J]) ⊆r name-morph-domain(f[x:=fresh-cname(K)];I)))
BY
{ Auto }
1
1. I : Cname List
2. J : nameset(I) List
3. K : Cname List
4. x : nameset(I)
5. f : name-morph(I-[x];K)
6. i : ℕ2
7. box : open_box(c𝕌;I;J;x;i)
8. J ∈ nameset(J) List
9. nameset(J) ⊆r nameset(I-[x])
10. x1 : ∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]
11. l-first(y.¬bisname(f y);J) = (inl x1) ∈ ((∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]) ∨ (∀y∈J.¬↑¬bisname(f y)))
12. x6 : (∀y∈J.¬↑¬bisname(f y))
13. x7 : ↑isr(inl x1)
14. x3 : f[x:=fresh-cname(K)] ∈ name-morph(I;[fresh-cname(K) / K])
15. x4 : nameset([x / J]) ⊆r nameset(I)
16. x5 : ∀z:nameset([x / J]). (↑isname(f[x:=fresh-cname(K)] z))
⊢ f[x:=fresh-cname(K)] ∈ nameset([x / J]) ⟶ nameset([fresh-cname(K) / K])
2
1. I : Cname List
2. J : nameset(I) List
3. K : Cname List
4. x : nameset(I)
5. f : name-morph(I-[x];K)
6. i : ℕ2
7. box : open_box(c𝕌;I;J;x;i)
8. J ∈ nameset(J) List
9. nameset(J) ⊆r nameset(I-[x])
10. x1 : ∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]
11. l-first(y.¬bisname(f y);J) = (inl x1) ∈ ((∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]) ∨ (∀y∈J.¬↑¬bisname(f y)))
12. x6 : (∀y∈J.¬↑¬bisname(f y))
13. x7 : ↑isr(inl x1)
14. x3 : f[x:=fresh-cname(K)] ∈ name-morph(I;[fresh-cname(K) / K])
15. x4 : nameset([x / J]) ⊆r nameset(I)
16. x5 : ∀z:nameset([x / J]). (↑isname(f[x:=fresh-cname(K)] z))
⊢ f[x:=fresh-cname(K)] ∈ nameset([x / J]) ⟶ nameset([fresh-cname(K) / K])
3
1. I : Cname List
2. J : nameset(I) List
3. K : Cname List
4. x : nameset(I)
5. f : name-morph(I-[x];K)
6. i : ℕ2
7. box : open_box(c𝕌;I;J;x;i)
8. J ∈ nameset(J) List
9. nameset(J) ⊆r nameset(I-[x])
10. x1 : ∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]
11. l-first(y.¬bisname(f y);J) = (inl x1) ∈ ((∃y:nameset(J) [((y ∈ J) ∧ (↑¬bisname(f y)))]) ∨ (∀y∈J.¬↑¬bisname(f y)))
12. x8 : (∀y∈J.¬↑¬bisname(f y))
13. x9 : ↑isr(inl x1)
14. x3 : f[x:=fresh-cname(K)] ∈ name-morph(I;[fresh-cname(K) / K])
15. x4 : nameset([x / J]) ⊆r nameset(I)
16. x5 : ∀z:nameset([x / J]). (↑isname(f[x:=fresh-cname(K)] z))
17. x6 : f[x:=fresh-cname(K)] ∈ nameset([x / J]) ⟶ nameset([fresh-cname(K) / K])
18. x7 : x ∈ nameset([x / J])
⊢ name-morph-domain(f[x:=fresh-cname(K)];I) ∈ Type
Latex:
Latex:
.....wf..... 
1.  I  :  Cname  List
2.  J  :  nameset(I)  List
3.  K  :  Cname  List
4.  x  :  nameset(I)
5.  f  :  name-morph(I-[x];K)
6.  i  :  \mBbbN{}2
7.  box  :  open\_box(c\mBbbU{};I;J;x;i)
8.  J  \mmember{}  nameset(J)  List
9.  nameset(J)  \msubseteq{}r  nameset(I-[x])
10.  x1  :  \mexists{}y:nameset(J)  [((y  \mmember{}  J)  \mwedge{}  (\muparrow{}\mneg{}\msubb{}isname(f  y)))]
11.  l-first(y.\mneg{}\msubb{}isname(f  y);J)  =  (inl  x1)
\mvdash{}  istype(((\mforall{}y\mmember{}J.\mneg{}\muparrow{}\mneg{}\msubb{}isname(f  y))  \mwedge{}  (\muparrow{}isr(inl  x1)))
\mwedge{}  (f[x:=fresh-cname(K)]  \mmember{}  name-morph(I;[fresh-cname(K)  /  K]))
\mwedge{}  (nameset([x  /  J])  \msubseteq{}r  nameset(I))
\mwedge{}  (\mforall{}z:nameset([x  /  J]).  (\muparrow{}isname(f[x:=fresh-cname(K)]  z)))
\mwedge{}  (f[x:=fresh-cname(K)]  \mmember{}  nameset([x  /  J])  {}\mrightarrow{}  nameset([fresh-cname(K)  /  K]))
\mwedge{}  (x  \mmember{}  nameset([x  /  J]))
\mwedge{}  (nameset([x  /  J])  \msubseteq{}r  name-morph-domain(f[x:=fresh-cname(K)];I)))
By
Latex:
Auto
Home
Index