Nuprl Lemma : subtype_rel_record

[T1,T2:Atom ⟶ Type].  uiff(record(x.T1[x]) ⊆record(x.T2[x]);∀[x:Atom]. (T1[x] ⊆T2[x]) supposing record(x.T1[x]))


Proof




Definitions occuring in Statement :  record: record(x.T[x]) uiff: uiff(P;Q) uimplies: supposing a subtype_rel: A ⊆B uall: [x:A]. B[x] so_apply: x[s] function: x:A ⟶ B[x] atom: Atom universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] rev_implies:  Q iff: ⇐⇒ Q false: False not: ¬A bfalse: ff ifthenelse: if then else fi  btrue: tt it: unit: Unit bool: 𝔹 implies:  Q top: Top all: x:A. B[x] record: record(x.T[x])
Lemmas referenced :  istype-atom record_wf subtype_rel_wf istype-universe istype-assert assert_of_bnot eqff_to_assert iff_weakening_uiff btrue_neq_bfalse eq_atom-reflexive not_wf bnot_wf iff_transitivity assert_of_eq_atom eqtt_to_assert assert_wf atom_subtype_base bool_wf equal-wf-base uiff_transitivity eq_atom_wf istype-void rec_select_update_lemma record-select_wf record-update_wf subtype_rel_dep_function
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut independent_pairFormation sqequalRule axiomEquality hypothesis extract_by_obid sqequalHypSubstitution isect_memberEquality_alt isectElimination thin hypothesisEquality isectIsTypeImplies inhabitedIsType universeIsType lambdaEquality_alt cumulativity applyEquality instantiate isectIsType productElimination independent_pairEquality functionIsType universeEquality rename sqequalBase equalityIstype independent_isectElimination equalitySymmetry equalityTransitivity independent_functionElimination because_Cache atomEquality baseClosed closedConclusion baseApply equalityElimination unionElimination lambdaFormation_alt voidElimination dependent_functionElimination lambdaEquality functionExtensionality lambdaFormation

Latex:
\mforall{}[T1,T2:Atom  {}\mrightarrow{}  Type].
    uiff(record(x.T1[x])  \msubseteq{}r  record(x.T2[x]);\mforall{}[x:Atom].  (T1[x]  \msubseteq{}r  T2[x])  supposing  record(x.T1[x]))



Date html generated: 2020_05_20-AM-08_17_29
Last ObjectModification: 2019_11_27-PM-02_35_17

Theory : general


Home Index