Nuprl Lemma : assert-list_eq

[A:Type]. ∀[eq:EqDecider(A)]. ∀[as,bs:A List].  uiff(↑list_eq(eq;as;bs);as bs ∈ (A List))


Proof




Definitions occuring in Statement :  list_eq: list_eq(eq;as;bs) list: List deq: EqDecider(T) assert: b uiff: uiff(P;Q) uall: [x:A]. B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T so_lambda: λ2x.t[x] deq: EqDecider(T) so_apply: x[s] implies:  Q list_eq: list_eq(eq;as;bs) ifthenelse: if then else fi  btrue: tt assert: b uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a prop: true: True all: x:A. B[x] top: Top so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] bfalse: ff false: False not: ¬A bnot: ¬bb band: p ∧b q cand: c∧ B squash: T ge: i ≥  subtype_rel: A ⊆B iff: ⇐⇒ Q rev_implies:  Q eqof: eqof(d) guard: {T}
Lemmas referenced :  list_induction uall_wf list_wf uiff_wf assert_wf list_eq_wf equal_wf nil_wf equal-wf-base-T null_nil_lemma true_wf equal-wf-base null_cons_lemma spread_cons_lemma false_wf btrue_wf and_wf null_wf bfalse_wf btrue_neq_bfalse cons_wf assert_witness equal-wf-T-base band_wf reduce_hd_cons_lemma hd_wf squash_wf ge_wf length_wf length_cons_ge_one subtype_rel_list top_wf iff_transitivity eqof_wf iff_weakening_uiff assert_of_band safe-assert-deq deq_wf reduce_tl_cons_lemma tl_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality sqequalRule lambdaEquality hypothesis setElimination rename independent_functionElimination because_Cache baseClosed independent_pairFormation natural_numberEquality axiomEquality equalityTransitivity equalitySymmetry lambdaFormation dependent_functionElimination isect_memberEquality voidElimination voidEquality productElimination dependent_set_memberEquality applyLambdaEquality independent_pairEquality applyEquality imageElimination independent_isectElimination imageMemberEquality addLevel productEquality universeEquality promote_hyp

Latex:
\mforall{}[A:Type].  \mforall{}[eq:EqDecider(A)].  \mforall{}[as,bs:A  List].    uiff(\muparrow{}list\_eq(eq;as;bs);as  =  bs)



Date html generated: 2018_05_21-PM-00_20_12
Last ObjectModification: 2018_05_19-AM-07_00_23

Theory : list_0


Home Index