Nuprl Lemma : face-lattice-induction

T:Type. ∀eq:EqDecider(T).
  ∀[P:Point(face-lattice(T;eq)) ⟶ ℙ]
    ((∀x:Point(face-lattice(T;eq)). SqStable(P[x]))
     P[0]
     P[1]
     (∀x,y:Point(face-lattice(T;eq)).  (P[x]  P[y]  P[x ∨ y]))
     (∀x:Point(face-lattice(T;eq)). (P[x]  (∀i:T. (P[(i=0) ∧ x] ∧ P[(i=1) ∧ x]))))
     (∀x:Point(face-lattice(T;eq)). P[x]))


Proof




Definitions occuring in Statement :  face-lattice1: (x=1) face-lattice0: (x=0) face-lattice: face-lattice(T;eq) lattice-0: 0 lattice-1: 1 lattice-join: a ∨ b lattice-meet: a ∧ b lattice-point: Point(l) deq: EqDecider(T) sq_stable: SqStable(P) uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q and: P ∧ Q function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  bdd-distributive-lattice: BoundedDistributiveLattice uimplies: supposing a prop: so_apply: x[s] so_lambda: λ2x.t[x] and: P ∧ Q subtype_rel: A ⊆B top: Top implies:  Q member: t ∈ T uall: [x:A]. B[x] all: x:A. B[x] face-lattice1: (x=1) face-lattice0: (x=0) false: False not: ¬A btrue: tt bfalse: ff eq_atom: =a y ifthenelse: if then else fi  record-update: r[x := v] mk-bounded-lattice: mk-bounded-lattice(T;m;j;z;o) mk-bounded-distributive-lattice: mk-bounded-distributive-lattice constrained-antichain-lattice: constrained-antichain-lattice(T;eq;P) free-dist-lattice-with-constraints: free-dist-lattice-with-constraints(T;eq;x.Cs[x]) face-lattice: face-lattice(T;eq) record-select: r.x lattice-0: 0 it: nil: [] empty-fset: {} list_ind: list_ind reduce: reduce(f;k;as) lattice-fset-join: \/(s) guard: {T} rev_implies:  Q iff: ⇐⇒ Q bdd-lattice: BoundedLattice squash: T sq_stable: SqStable(P) uiff: uiff(P;Q) exists: x:A. B[x] cons: [a b] fset-singleton: {x} lattice-1: 1 lattice-fset-meet: /\(s)
Lemmas referenced :  istype-universe deq_wf sq_stable_wf lattice-0_wf lattice-1_wf face-lattice1_wf face-lattice0_wf subtype_rel_self lattice-join_wf lattice-meet_wf equal_wf uall_wf bounded-lattice-axioms_wf bounded-lattice-structure-subtype lattice-axioms_wf lattice-structure_wf bounded-lattice-structure_wf subtype_rel_set face-lattice_wf lattice-point_wf face-lattice-constraints_wf fset-antichain_wf assert_wf strong-subtype-set2 fset-contains-none_wf fset-all_wf strong-subtype-deq-subtype union-deq_wf fset_wf deq-fset_wf istype-void fl-point-sq face-lattice-basis decidable__equal-fl-point lattice-fset-meet_wf fset-image_wf fset-subtype lattice-fset-join_wf fset-member_wf fset-induction reduce_cons_lemma iff_weakening_equal fset-add-as-cons bdd-distributive-lattice-subtype-bdd-lattice bdd-lattice_wf decidable_wf squash_wf member-fset-image-iff fset-subtype2
Rules used in proof :  rename setElimination productIsType universeEquality functionIsType equalityTransitivity inhabitedIsType cumulativity instantiate applyLambdaEquality equalitySymmetry hyp_replacement independent_isectElimination universeIsType unionIsType lambdaEquality_alt productEquality because_Cache setEquality applyEquality unionEquality voidElimination isect_memberEquality_alt sqequalRule isect_memberFormation_alt hypothesisEquality thin isectElimination sqequalHypSubstitution hypothesis lambdaFormation_alt sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution extract_by_obid introduction cut independent_functionElimination dependent_functionElimination equalityIsType1 productElimination unionElimination functionIsTypeImplies setIsType baseClosed imageMemberEquality functionEquality imageElimination Error :memTop

Latex:
\mforall{}T:Type.  \mforall{}eq:EqDecider(T).
    \mforall{}[P:Point(face-lattice(T;eq))  {}\mrightarrow{}  \mBbbP{}]
        ((\mforall{}x:Point(face-lattice(T;eq)).  SqStable(P[x]))
        {}\mRightarrow{}  P[0]
        {}\mRightarrow{}  P[1]
        {}\mRightarrow{}  (\mforall{}x,y:Point(face-lattice(T;eq)).    (P[x]  {}\mRightarrow{}  P[y]  {}\mRightarrow{}  P[x  \mvee{}  y]))
        {}\mRightarrow{}  (\mforall{}x:Point(face-lattice(T;eq)).  (P[x]  {}\mRightarrow{}  (\mforall{}i:T.  (P[(i=0)  \mwedge{}  x]  \mwedge{}  P[(i=1)  \mwedge{}  x]))))
        {}\mRightarrow{}  (\mforall{}x:Point(face-lattice(T;eq)).  P[x]))



Date html generated: 2020_05_20-AM-08_51_53
Last ObjectModification: 2020_02_04-PM-01_38_04

Theory : lattices


Home Index