Nuprl Lemma : mset_ind_a
∀s:DSet. ∀Q:MSet{s} ⟶ ℙ.
  ((∀w:MSet{s}. SqStable(Q[w]))
  
⇒ Q[0{s}]
  
⇒ (∀x:|s|. Q[mset_inj{s}(x)])
  
⇒ (∀ys,ys':MSet{s}.  (Q[ys] 
⇒ Q[ys'] 
⇒ Q[ys + ys']))
  
⇒ {∀zs:MSet{s}. Q[zs]})
Proof
Definitions occuring in Statement : 
mset_sum: a + b
, 
mset_inj: mset_inj{s}(x)
, 
null_mset: 0{s}
, 
mset: MSet{s}
, 
sq_stable: SqStable(P)
, 
prop: ℙ
, 
guard: {T}
, 
so_apply: x[s]
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
function: x:A ⟶ B[x]
, 
dset: DSet
, 
set_car: |p|
Definitions unfolded in proof : 
guard: {T}
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
member: t ∈ T
, 
prop: ℙ
, 
uall: ∀[x:A]. B[x]
, 
so_lambda: λ2x.t[x]
, 
so_apply: x[s]
, 
dset: DSet
, 
sq_stable: SqStable(P)
, 
mset: MSet{s}
, 
quotient: x,y:A//B[x; y]
, 
and: P ∧ Q
, 
squash: ↓T
, 
subtype_rel: A ⊆r B
, 
so_lambda: λ2x y.t[x; y]
, 
so_apply: x[s1;s2]
, 
uimplies: b supposing a
, 
null_mset: 0{s}
, 
mset_inj: mset_inj{s}(x)
, 
mset_sum: a + b
, 
mk_mset: mk_mset(as)
, 
append: as @ bs
, 
so_lambda: so_lambda(x,y,z.t[x; y; z])
, 
top: Top
, 
so_apply: x[s1;s2;s3]
Lemmas referenced : 
mset_wf, 
all_wf, 
mset_sum_wf, 
set_car_wf, 
mset_inj_wf, 
null_mset_wf, 
sq_stable_wf, 
dset_wf, 
squash_wf, 
list_wf, 
permr_wf, 
equal_wf, 
equal-wf-base, 
list_induction, 
subtype_quotient, 
permr_equiv_rel, 
list_ind_cons_lemma, 
list_ind_nil_lemma
Rules used in proof : 
sqequalSubstitution, 
sqequalRule, 
sqequalReflexivity, 
sqequalTransitivity, 
computationStep, 
lambdaFormation, 
cut, 
introduction, 
extract_by_obid, 
sqequalHypSubstitution, 
dependent_functionElimination, 
thin, 
hypothesisEquality, 
hypothesis, 
isectElimination, 
lambdaEquality, 
functionEquality, 
applyEquality, 
functionExtensionality, 
setElimination, 
rename, 
because_Cache, 
cumulativity, 
universeEquality, 
independent_functionElimination, 
pointwiseFunctionalityForEquality, 
pertypeElimination, 
productElimination, 
equalityTransitivity, 
equalitySymmetry, 
imageMemberEquality, 
baseClosed, 
productEquality, 
independent_isectElimination, 
isect_memberEquality, 
voidElimination, 
voidEquality
Latex:
\mforall{}s:DSet.  \mforall{}Q:MSet\{s\}  {}\mrightarrow{}  \mBbbP{}.
    ((\mforall{}w:MSet\{s\}.  SqStable(Q[w]))
    {}\mRightarrow{}  Q[0\{s\}]
    {}\mRightarrow{}  (\mforall{}x:|s|.  Q[mset\_inj\{s\}(x)])
    {}\mRightarrow{}  (\mforall{}ys,ys':MSet\{s\}.    (Q[ys]  {}\mRightarrow{}  Q[ys']  {}\mRightarrow{}  Q[ys  +  ys']))
    {}\mRightarrow{}  \{\mforall{}zs:MSet\{s\}.  Q[zs]\})
Date html generated:
2017_10_01-AM-10_00_13
Last ObjectModification:
2017_03_03-PM-01_01_53
Theory : mset
Home
Index