Nuprl Lemma : bag-remove1-equal

[T:Type]. ∀[eq:EqDecider(T)]. ∀[as,bs:bag(T)]. ∀[a,b:T].
  uiff(bag-remove1(eq;as;a) bag-remove1(eq;bs;b) ∈ (bag(T)?);(({a} bs) ({b} as) ∈ bag(T))
  ↓∨ ((¬a ↓∈ as) ∧ b ↓∈ bs)))


Proof




Definitions occuring in Statement :  bag-remove1: bag-remove1(eq;bs;a) bag-member: x ↓∈ bs bag-append: as bs single-bag: {x} bag: bag(T) deq: EqDecider(T) sq_or: a ↓∨ b uiff: uiff(P;Q) uall: [x:A]. B[x] not: ¬A and: P ∧ Q unit: Unit union: left right universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uiff: uiff(P;Q) and: P ∧ Q uimplies: supposing a sq_or: a ↓∨ b squash: T all: x:A. B[x] prop: or: P ∨ Q exists: x:A. B[x] true: True subtype_rel: A ⊆B guard: {T} iff: ⇐⇒ Q implies:  Q not: ¬A false: False rev_implies:  Q isl: isl(x) cand: c∧ B deq: EqDecider(T) bool: 𝔹 unit: Unit it: btrue: tt eqof: eqof(d) ifthenelse: if then else fi  outl: outl(x) assert: b bfalse: ff sq_type: SQType(T) bnot: ¬bb exposed-bfalse: exposed-bfalse
Lemmas referenced :  unit_wf2 bag-remove1_wf sq_or_wf equal_wf bag_wf bag-append_wf single-bag_wf not_wf bag-member_wf istype-universe bag-remove1-property squash_wf true_wf subtype_rel_self iff_weakening_equal istype-void bag-append-assoc-comm btrue_wf bfalse_wf btrue_neq_bfalse deq_wf bag-remove1-member bag-remove1-append1 eqtt_to_assert safe-assert-deq outl_wf assert_wf isl_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_wf bool_subtype_base assert-bnot iff_weakening_uiff bag-remove1-non-member bag-member-append bag-member-single
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt introduction cut independent_pairFormation sqequalRule sqequalHypSubstitution imageElimination hypothesis imageMemberEquality hypothesisEquality thin baseClosed equalityIsType1 unionIsType inhabitedIsType universeIsType extract_by_obid isectElimination dependent_functionElimination productEquality productElimination independent_pairEquality isect_memberEquality_alt because_Cache equalityTransitivity equalitySymmetry axiomEquality universeEquality unionElimination inlFormation_alt applyEquality lambdaEquality_alt unionEquality natural_numberEquality instantiate independent_isectElimination independent_functionElimination applyLambdaEquality productIsType functionIsType dependent_set_memberEquality_alt equalityIsType3 setElimination rename voidElimination inrFormation_alt lambdaFormation_alt equalityElimination promote_hyp hyp_replacement inlEquality_alt dependent_pairFormation_alt cumulativity

Latex:
\mforall{}[T:Type].  \mforall{}[eq:EqDecider(T)].  \mforall{}[as,bs:bag(T)].  \mforall{}[a,b:T].
    uiff(bag-remove1(eq;as;a)  =  bag-remove1(eq;bs;b);((\{a\}  +  bs)  =  (\{b\}  +  as))
    \mdownarrow{}\mvee{}  ((\mneg{}a  \mdownarrow{}\mmember{}  as)  \mwedge{}  (\mneg{}b  \mdownarrow{}\mmember{}  bs)))



Date html generated: 2019_10_16-AM-11_31_14
Last ObjectModification: 2018_10_11-AM-10_46_07

Theory : bags_2


Home Index