Nuprl Lemma : type-equating-some

T:Type. ∀P:T ⟶ ℙ.
  ∃T':Type
   ((T ⊆T') ∧ (∀x,y:T.  (P[x]  P[y]  (x y ∈ T'))) ∧ (∀x,y:T.  ((¬P[x])  (x y ∈ ⇐⇒ y ∈ T'))))


Proof




Definitions occuring in Statement :  subtype_rel: A ⊆B prop: so_apply: x[s] all: x:A. B[x] exists: x:A. B[x] iff: ⇐⇒ Q not: ¬A implies:  Q and: P ∧ Q function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] exists: x:A. B[x] member: t ∈ T uall: [x:A]. B[x] so_lambda: λ2y.t[x; y] prop: and: P ∧ Q so_apply: x[s] subtype_rel: A ⊆B so_apply: x[s1;s2] uimplies: supposing a cand: c∧ B implies:  Q rel_implies: R1 => R2 infix_ap: y iff: ⇐⇒ Q guard: {T} rev_implies:  Q quotient: x,y:A//B[x; y] so_lambda: λ2x.t[x] least-equiv: least-equiv(A;R) transitive-reflexive-closure: R^* or: P ∨ Q transitive-closure: TC(R) less_than: a < b squash: T less_than': less_than'(a;b) false: False cons: [a b] top: Top rel_path: rel_path(A;L;x;y) so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] pi2: snd(t) pi1: fst(t) not: ¬A
Lemmas referenced :  quotient_wf least-equiv_wf least-equiv-is-equiv subtype_quotient quotient-member-eq implies-least-equiv equal_functionality_wrt_subtype_rel2 equal_wf member_wf not_wf subtype_rel_wf all_wf iff_wf or_wf and_wf list-cases length_of_nil_lemma product_subtype_list length_of_cons_lemma list_ind_cons_lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation dependent_pairFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin cumulativity hypothesisEquality sqequalRule lambdaEquality applyEquality because_Cache productEquality functionExtensionality hypothesis independent_isectElimination independent_pairFormation dependent_functionElimination independent_functionElimination pertypeElimination productElimination functionEquality universeEquality unionElimination setElimination rename imageElimination voidElimination promote_hyp hypothesis_subsumption isect_memberEquality voidEquality equalitySymmetry hyp_replacement applyLambdaEquality

Latex:
\mforall{}T:Type.  \mforall{}P:T  {}\mrightarrow{}  \mBbbP{}.
    \mexists{}T':Type
      ((T  \msubseteq{}r  T')  \mwedge{}  (\mforall{}x,y:T.    (P[x]  {}\mRightarrow{}  P[y]  {}\mRightarrow{}  (x  =  y)))  \mwedge{}  (\mforall{}x,y:T.    ((\mneg{}P[x])  {}\mRightarrow{}  (x  =  y  \mLeftarrow{}{}\mRightarrow{}  x  =  y))))



Date html generated: 2018_05_21-PM-01_12_12
Last ObjectModification: 2018_05_03-PM-02_19_17

Theory : num_thy_1


Home Index