Nuprl Lemma : mk_deq-subtype

∀[T,S:Type].  ∀[p:∀x,y:S.  Dec(x = y ∈ S)]. (mk_deq(p) ∈ EqDecider(T)) supposing strong-subtype(T;S)


Proof




Definitions occuring in Statement :  mk_deq: mk_deq(p),  deq: EqDecider(T),  strong-subtype: strong-subtype(A;B),  decidable: Dec(P),  uimplies: b supposing a,  uall: ∀[x:A]. B[x],  all: ∀x:A. B[x],  member: t ∈ T,  universe: Type,  equal: s = t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  uimplies: b supposing a,  member: t ∈ T,  implies: P ⇒ Q,  guard: {T},  subtype_rel: A ⊆r B,  deq: EqDecider(T),  so_lambda: λ2x.t[x],  so_apply: x[s],  strong-subtype: strong-subtype(A;B),  cand: A c∧ B,  all: ∀x:A. B[x],  iff: P ⇐⇒ Q,  and: P ∧ Q,  prop: ℙ,  rev_implies: P ⇐ Q
Lemmas referenced :  strong-subtype-implies,  mk_deq_wf,  subtype_rel_sets,  bool_wf,  all_wf,  iff_wf,  equal_wf,  assert_wf,  subtype_rel_set,  subtype_rel_dep_function,  subtype_rel_self,  decidable_wf,  strong-subtype_wf,  equal_functionality_wrt_subtype_rel2
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  isect_memberFormation,  cut,  lemma_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  independent_functionElimination,  hypothesis,  applyEquality,  functionEquality,  sqequalRule,  lambdaEquality,  independent_isectElimination,  because_Cache,  productElimination,  lambdaFormation,  independent_pairFormation,  universeEquality,  equalityTransitivity,  equalitySymmetry,  dependent_functionElimination

Latex:
\mforall{}[T,S:Type].    \mforall{}[p:\mforall{}x,y:S.    Dec(x  =  y)].  (mk\_deq(p)  \mmember{}  EqDecider(T))  supposing  strong-subtype(T;S)



Date html generated: 2016_05_14-AM-06_06_34
Last ObjectModification: 2015_12_26-AM-11_46_51

Theory : equality!deciders


Home Index