Nuprl Lemma : mrec-label-cases

s:MutualRectypeSpec. ∀n:Atom. ∀lbl:{lbl:Atom| 0 < ||mrec-spec(s;lbl;n)||} .
  ((↑isl(apply-alist(AtomDeq;s;n))) ∧ (lbl ∈ map(λp.(fst(p));outl(apply-alist(AtomDeq;s;n)))))


Proof




Definitions occuring in Statement :  mrec-spec: mrec-spec(L;lbl;p) mrec_spec: MutualRectypeSpec apply-alist: apply-alist(eq;L;x) l_member: (x ∈ l) length: ||as|| map: map(f;as) atom-deq: AtomDeq outl: outl(x) assert: b isl: isl(x) less_than: a < b pi1: fst(t) all: x:A. B[x] and: P ∧ Q set: {x:A| B[x]}  lambda: λx.A[x] natural_number: $n atom: Atom
Definitions unfolded in proof :  all: x:A. B[x] and: P ∧ Q cand: c∧ B mrec_spec: MutualRectypeSpec uall: [x:A]. B[x] member: t ∈ T implies:  Q isl: isl(x) sq_stable: SqStable(P) squash: T so_lambda: λ2x.t[x] so_apply: x[s] outl: outl(x) uimplies: supposing a not: ¬A false: False mrec-spec: mrec-spec(L;lbl;p) assert: b ifthenelse: if then else fi  btrue: tt true: True bfalse: ff less_than: a < b less_than': less_than'(a;b) iff: ⇐⇒ Q sq_type: SQType(T) guard: {T}
Lemmas referenced :  sq_stable_from_decidable assert_wf apply-alist_wf atom-deq_wf list_wf btrue_wf bfalse_wf decidable__assert sq_stable__l_member decidable__atom_equal map_wf pi1_wf assert_elim btrue_neq_bfalse istype-less_than length_wf mrec-spec_wf istype-atom mrec_spec_wf nil_wf length_of_nil_lemma isl-apply-alist subtype_base_sq bool_wf bool_subtype_base
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  cut sqequalHypSubstitution setElimination thin rename introduction extract_by_obid isectElimination instantiate cumulativity atomEquality hypothesis hypothesisEquality productEquality unionEquality universeEquality Error :inhabitedIsType,  unionElimination sqequalRule Error :equalityIstype,  equalityTransitivity equalitySymmetry dependent_functionElimination independent_functionElimination because_Cache imageMemberEquality baseClosed imageElimination independent_pairFormation Error :lambdaEquality_alt,  Error :productIsType,  Error :universeIsType,  independent_isectElimination Error :dependent_set_memberEquality_alt,  applyLambdaEquality productElimination voidElimination Error :setIsType,  natural_numberEquality

Latex:
\mforall{}s:MutualRectypeSpec.  \mforall{}n:Atom.  \mforall{}lbl:\{lbl:Atom|  0  <  ||mrec-spec(s;lbl;n)||\}  .
    ((\muparrow{}isl(apply-alist(AtomDeq;s;n)))  \mwedge{}  (lbl  \mmember{}  map(\mlambda{}p.(fst(p));outl(apply-alist(AtomDeq;s;n)))))



Date html generated: 2019_06_20-PM-02_14_58
Last ObjectModification: 2019_02_27-PM-02_09_06

Theory : tuples


Home Index