Step
*
of Lemma
non-trivial-open-box
∀[X:CubicalSet]. ∀[I:Cname List]. ∀[J:nameset(I) List]. ∀[x:nameset(I)]. ∀[i:ℕ2].
  ∀bx:open_box(X;I;J;x;i). ∀y:nameset(J). ∀c:ℕ2.
    (¬(filter(λf.((dimension(f) =z y) ∧b (direction(f) =z c));bx)
    = []
    ∈ ({f:{f:I-face(X;I)| (f ∈ bx)} | ↑((dimension(f) =z y) ∧b (direction(f) =z c))}  List)))
BY
{ (Intros
   THEN (InstLemma `filter_type` [⌜{f:I-face(X;I)| (f ∈ bx)} ⌝;⌜λf.((dimension(f) =z y) ∧b (direction(f) =z c))⌝;⌜bx⌝]⋅
         THENA Auto
         )
   THEN Reduce (-1)
   THEN GenConclAtAddr [1;2]
   THEN (RW (AddrC [1] assert_pushupC) 0 THENA Auto)
   THEN (DVar `bx' THENA Auto)
   THEN (SubstFor ⌜v⌝ 0⋅ THENA Auto)
   THEN (BLemma `non_null_filter` THEN Auto)
   THEN RepUR ``so_apply`` 0) }
1
1. X : CubicalSet
2. I : Cname List
3. J : nameset(I) List
4. x : nameset(I)
5. i : ℕ2
6. bx : I-face(X;I) List
7. adjacent-compatible(X;I;bx)
8. ¬(x ∈ J)
9. l_subset(Cname;J;I)
10. ∀y:nameset(J). ∀c:ℕ2.  (∃f∈bx. face-name(f) = <y, c> ∈ (nameset(I) × ℕ2))
11. (∃f∈bx. face-name(f) = <x, i> ∈ (nameset(I) × ℕ2))
12. (∀f∈bx.¬(face-name(f) = <x, 1 - i> ∈ (nameset(I) × ℕ2)))
13. (∀f∈bx.(fst(f) ∈ [x / J]))
14. (∀f1,f2∈bx.  ¬(face-name(f1) = face-name(f2) ∈ (nameset(I) × ℕ2)))
15. y : nameset(J)
16. c : ℕ2
17. filter(λf.((dimension(f) =z y) ∧b (direction(f) =z c));bx) ∈ {x:{f:I-face(X;I)| (f ∈ bx)} | 
                                                                  ↑((dimension(x) =z y) ∧b (direction(x) =z c))}  List
18. v : {x:{f:I-face(X;I)| (f ∈ bx)} | ↑((dimension(x) =z y) ∧b (direction(x) =z c))}  List
19. filter(λf.((dimension(f) =z y) ∧b (direction(f) =z c));bx)
= v
∈ ({x:{f:I-face(X;I)| (f ∈ bx)} | ↑((dimension(x) =z y) ∧b (direction(x) =z c))}  List)
⊢ (∃x∈bx. ↑((dimension(x) =z y) ∧b (direction(x) =z c)))
Latex:
Latex:
\mforall{}[X:CubicalSet].  \mforall{}[I:Cname  List].  \mforall{}[J:nameset(I)  List].  \mforall{}[x:nameset(I)].  \mforall{}[i:\mBbbN{}2].
    \mforall{}bx:open\_box(X;I;J;x;i).  \mforall{}y:nameset(J).  \mforall{}c:\mBbbN{}2.
        (\mneg{}(filter(\mlambda{}f.((dimension(f)  =\msubz{}  y)  \mwedge{}\msubb{}  (direction(f)  =\msubz{}  c));bx)  =  []))
By
Latex:
(Intros
  THEN  (InstLemma  `filter\_type`  [\mkleeneopen{}\{f:I-face(X;I)|  (f  \mmember{}  bx)\}  \mkleeneclose{};\mkleeneopen{}\mlambda{}f.((dimension(f)  =\msubz{}  y)
                                                                                                                                \mwedge{}\msubb{}  (direction(f)  =\msubz{}  c))\mkleeneclose{};\mkleeneopen{}bx\mkleeneclose{}]\mcdot{}
              THENA  Auto
              )
  THEN  Reduce  (-1)
  THEN  GenConclAtAddr  [1;2]
  THEN  (RW  (AddrC  [1]  assert\_pushupC)  0  THENA  Auto)
  THEN  (DVar  `bx'  THENA  Auto)
  THEN  (SubstFor  \mkleeneopen{}v\mkleeneclose{}  0\mcdot{}  THENA  Auto)
  THEN  (BLemma  `non\_null\_filter`  THEN  Auto)
  THEN  RepUR  ``so\_apply``  0)
Home
Index