Nuprl Lemma : assert-C_TYPE_eq

[a,b:C_TYPE()].  uiff(↑C_TYPE_eq(a;b);a b ∈ C_TYPE())


Proof




Definitions occuring in Statement :  C_TYPE_eq: C_TYPE_eq(a;b) C_TYPE: C_TYPE() assert: b uiff: uiff(P;Q) uall: [x:A]. B[x] equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T C_TYPE_eq: C_TYPE_eq(a;b) so_lambda: λ2x.t[x] so_apply: x[s] implies:  Q C_TYPE_eq_fun: C_TYPE_eq_fun(a) C_Void: C_Void() C_TYPE_ind: C_TYPE_ind select: L[n] uimplies: supposing a all: x:A. B[x] it: so_lambda: λ2y.t[x; y] top: Top so_apply: x[s1;s2] C_Void?: C_Void?(v) pi1: fst(t) eq_atom: =a y assert: b ifthenelse: if then else fi  btrue: tt uiff: uiff(P;Q) and: P ∧ Q prop: true: True C_Int: C_Int() bfalse: ff false: False C_Int?: C_Int?(v) not: ¬A C_Struct: C_Struct(fields) C_Struct?: C_Struct?(v) C_Array: C_Array(length;elems) C_Array?: C_Array?(v) C_Pointer: C_Pointer(to) C_Pointer?: C_Pointer?(v) guard: {T} bool: 𝔹 unit: Unit band: p ∧b q int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] subtype_rel: A ⊆B C_Struct-fields: C_Struct-fields(v) pi2: snd(t) nat: ge: i ≥  squash: T sq_type: SQType(T) bnot: ¬bb l_all: (∀x∈L.P[x]) le: A ≤ B iff: ⇐⇒ Q rev_implies:  Q less_than: a < b cand: c∧ B nequal: a ≠ b ∈  C_Array-length: C_Array-length(v) C_Array-elems: C_Array-elems(v) C_Pointer-to: C_Pointer-to(v)
Lemmas referenced :  C_Pointer-to_wf le_wf decidable__equal_int C_Array-elems_wf C_Array-length_wf equal-wf-base-T C_TYPE_subtype_base atom_subtype_base product_subtype_base list_subtype_base assert_of_band iff_weakening_uiff iff_transitivity band_wf select-upto lelt_wf length_wf_nat length_upto assert-bl-all less_than_wf neg_assert_of_eq_int assert-bnot bool_subtype_base subtype_base_sq bool_cases_sqequal eqff_to_assert list_extensionality squash_wf nat_properties pi2_wf assert_of_eq_atom int_formula_prop_eq_lemma intformeq_wf top_wf subtype_rel_product pi1_wf_top int_formula_prop_less_lemma intformless_wf decidable__lt int_formula_prop_wf int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_not_lemma int_formula_prop_and_lemma itermVar_wf itermConstant_wf intformle_wf intformnot_wf intformand_wf satisfiable-full-omega-tt decidable__le int_seg_properties select_wf eq_atom_wf upto_wf int_seg_wf bl-all_wf assert_of_eq_int C_Struct-fields_wf length_wf eq_int_wf eqtt_to_assert bool_wf C_TYPE_eq_wf assert_witness C_Pointer_wf C_Pointer?_wf nat_wf C_Array_wf C_Array?_wf list_wf l_member_wf l_all_wf2 C_Struct_wf C_Struct?_wf C_Int_wf btrue_neq_bfalse bfalse_wf C_Int?_wf and_wf btrue_wf false_wf true_wf C_Void_wf C_Void?_wf base_wf stuck-spread equal_wf C_TYPE_eq_fun_wf assert_wf uiff_wf C_TYPE_wf all_wf C_TYPE-induction
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin sqequalRule lemma_by_obid sqequalHypSubstitution isectElimination lambdaEquality hypothesis applyEquality hypothesisEquality independent_functionElimination baseClosed independent_isectElimination lambdaFormation isect_memberEquality voidElimination voidEquality independent_pairFormation natural_numberEquality axiomEquality equalityTransitivity equalitySymmetry dependent_set_memberEquality setElimination rename productElimination setEquality productEquality atomEquality spreadEquality because_Cache dependent_functionElimination independent_pairEquality unionElimination equalityElimination dependent_pairFormation int_eqEquality intEquality computeAll equalityEquality imageElimination promote_hyp instantiate cumulativity imageMemberEquality functionEquality addLevel impliesFunctionality substitution

Latex:
\mforall{}[a,b:C\_TYPE()].    uiff(\muparrow{}C\_TYPE\_eq(a;b);a  =  b)



Date html generated: 2016_05_16-AM-08_46_01
Last ObjectModification: 2016_01_17-AM-09_44_50

Theory : C-semantics


Home Index