Step
*
1
2
of Lemma
face-lattice-induction
1. T : Type
2. eq : EqDecider(T)
3. ∀[x:Point(face-lattice(T;eq))]. (x = \/(λs./\(λu.{{u}}"(s))"(x)) ∈ Point(face-lattice(T;eq)))
4. [P] : Point(face-lattice(T;eq)) ⟶ ℙ
5. ∀x:Point(face-lattice(T;eq)). SqStable(P[x])
6. P[0]
7. P[1]
8. ∀x,y:Point(face-lattice(T;eq)).  (P[x] 
⇒ P[y] 
⇒ P[x ∨ y])
9. ∀x:Point(face-lattice(T;eq)). (P[x] 
⇒ (∀i:T. (P[(i=0) ∧ x] ∧ P[(i=1) ∧ x])))
10. x : Point(face-lattice(T;eq))
11. deq-fset(deq-fset(union-deq(T;T;eq;eq))) ∈ EqDecider(Point(face-lattice(T;eq)))
12. v : fset(Point(face-lattice(T;eq)))
13. λs./\(λu.{{u}}"(s))"(x) = v ∈ fset(Point(face-lattice(T;eq)))
⊢ P[\/(v)]
BY
{ (InstLemma `fset-induction` [⌜{p:Point(face-lattice(T;eq))| p ∈ v} ⌝;⌜deq-fset(deq-fset(union-deq(T;T;eq;eq)))⌝;
   ⌜λ2v.P[\/(v)]⌝]⋅
   THENA Auto
   ) }
1
1. T : Type
2. eq : EqDecider(T)
3. ∀[x:Point(face-lattice(T;eq))]. (x = \/(λs./\(λu.{{u}}"(s))"(x)) ∈ Point(face-lattice(T;eq)))
4. [P] : Point(face-lattice(T;eq)) ⟶ ℙ
5. ∀x:Point(face-lattice(T;eq)). SqStable(P[x])
6. P[0]
7. P[1]
8. ∀x,y:Point(face-lattice(T;eq)).  (P[x] 
⇒ P[y] 
⇒ P[x ∨ y])
9. ∀x:Point(face-lattice(T;eq)). (P[x] 
⇒ (∀i:T. (P[(i=0) ∧ x] ∧ P[(i=1) ∧ x])))
10. x : Point(face-lattice(T;eq))
11. deq-fset(deq-fset(union-deq(T;T;eq;eq))) ∈ EqDecider(Point(face-lattice(T;eq)))
12. v : fset(Point(face-lattice(T;eq)))
13. λs./\(λu.{{u}}"(s))"(x) = v ∈ fset(Point(face-lattice(T;eq)))
14. s : fset({p:Point(face-lattice(T;eq))| p ∈ v} )
15. x1 : {p:Point(face-lattice(T;eq))| p ∈ v} 
16. P[\/(s)]
17. ¬x1 ∈ s
⊢ P[\/(fset-add(deq-fset(deq-fset(union-deq(T;T;eq;eq)));x1;s))]
2
1. T : Type
2. eq : EqDecider(T)
3. ∀[x:Point(face-lattice(T;eq))]. (x = \/(λs./\(λu.{{u}}"(s))"(x)) ∈ Point(face-lattice(T;eq)))
4. [P] : Point(face-lattice(T;eq)) ⟶ ℙ
5. ∀x:Point(face-lattice(T;eq)). SqStable(P[x])
6. P[0]
7. P[1]
8. ∀x,y:Point(face-lattice(T;eq)).  (P[x] 
⇒ P[y] 
⇒ P[x ∨ y])
9. ∀x:Point(face-lattice(T;eq)). (P[x] 
⇒ (∀i:T. (P[(i=0) ∧ x] ∧ P[(i=1) ∧ x])))
10. x : Point(face-lattice(T;eq))
11. deq-fset(deq-fset(union-deq(T;T;eq;eq))) ∈ EqDecider(Point(face-lattice(T;eq)))
12. v : fset(Point(face-lattice(T;eq)))
13. λs./\(λu.{{u}}"(s))"(x) = v ∈ fset(Point(face-lattice(T;eq)))
14. ∀s:fset({p:Point(face-lattice(T;eq))| p ∈ v} ). P[\/(s)]
⊢ P[\/(v)]
Latex:
Latex:
1.  T  :  Type
2.  eq  :  EqDecider(T)
3.  \mforall{}[x:Point(face-lattice(T;eq))].  (x  =  \mbackslash{}/(\mlambda{}s./\mbackslash{}(\mlambda{}u.\{\{u\}\}"(s))"(x)))
4.  [P]  :  Point(face-lattice(T;eq))  {}\mrightarrow{}  \mBbbP{}
5.  \mforall{}x:Point(face-lattice(T;eq)).  SqStable(P[x])
6.  P[0]
7.  P[1]
8.  \mforall{}x,y:Point(face-lattice(T;eq)).    (P[x]  {}\mRightarrow{}  P[y]  {}\mRightarrow{}  P[x  \mvee{}  y])
9.  \mforall{}x:Point(face-lattice(T;eq)).  (P[x]  {}\mRightarrow{}  (\mforall{}i:T.  (P[(i=0)  \mwedge{}  x]  \mwedge{}  P[(i=1)  \mwedge{}  x])))
10.  x  :  Point(face-lattice(T;eq))
11.  deq-fset(deq-fset(union-deq(T;T;eq;eq)))  \mmember{}  EqDecider(Point(face-lattice(T;eq)))
12.  v  :  fset(Point(face-lattice(T;eq)))
13.  \mlambda{}s./\mbackslash{}(\mlambda{}u.\{\{u\}\}"(s))"(x)  =  v
\mvdash{}  P[\mbackslash{}/(v)]
By
Latex:
(InstLemma  `fset-induction`  [\mkleeneopen{}\{p:Point(face-lattice(T;eq))|  p  \mmember{}  v\}  \mkleeneclose{};
  \mkleeneopen{}deq-fset(deq-fset(union-deq(T;T;eq;eq)))\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}v.P[\mbackslash{}/(v)]\mkleeneclose{}]\mcdot{}
  THENA  Auto
  )
Home
Index