Nuprl Lemma : term-cases

[opr:Type]
  ∀t:term(opr)
    ((∃v:varname(). ((¬(v nullvar() ∈ varname())) ∧ (t varterm(v) ∈ term(opr))))
    ∨ (∃f:opr. ∃bts:{bt:bound-term(opr)| bound-term-size(bt) < term-size(t)}  List. (t mkterm(f;bts) ∈ term(opr))))


Proof




Definitions occuring in Statement :  bound-term-size: bound-term-size(bt) bound-term: bound-term(opr) term-size: term-size(t) mkterm: mkterm(opr;bts) varterm: varterm(v) term: term(opr) nullvar: nullvar() varname: varname() list: List less_than: a < b uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] not: ¬A or: P ∨ Q and: P ∧ Q set: {x:A| B[x]}  universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T subtype_rel: A ⊆B guard: {T} uimplies: supposing a implies:  Q coterm-fun: coterm-fun(opr;T) or: P ∨ Q exists: x:A. B[x] and: P ∧ Q cand: c∧ B not: ¬A false: False varterm: varterm(v) nat: prop: bound-term: bound-term(opr) mkterm: mkterm(opr;bts) so_lambda: λ2x.t[x] so_apply: x[s] bound-term-size: bound-term-size(bt) sq_stable: SqStable(P) decidable: Dec(P) ge: i ≥  satisfiable_int_formula: satisfiable_int_formula(fmla) squash: T le: A ≤ B
Lemmas referenced :  term-ext subtype_rel_weakening term_wf coterm-fun_wf ext-eq_inversion nullvar_wf varterm_wf istype-void list_wf bound-term_wf less_than_wf bound-term-size_wf term-size_wf mkterm_wf subtype_rel_list varname_wf istype-less_than list-subtype l_member_wf subtype_rel_sets term_size_mkterm_lemma istype-universe summand-le-lsum sq_stable__le decidable__le nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformnot_wf istype-int int_formula_prop_and_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_not_lemma int_formula_prop_wf decidable__lt lsum_wf intformless_wf itermAdd_wf int_formula_prop_less_lemma int_term_value_add_lemma
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesisEquality applyEquality hypothesis independent_isectElimination sqequalRule inhabitedIsType unionElimination inlFormation_alt dependent_pairFormation_alt setElimination rename independent_functionElimination voidElimination equalityIstype because_Cache independent_pairFormation productIsType functionIsType equalityTransitivity equalitySymmetry universeIsType setEquality lambdaEquality_alt productEquality setIsType productElimination inrFormation_alt dependent_functionElimination Error :memTop,  instantiate universeEquality natural_numberEquality applyLambdaEquality approximateComputation int_eqEquality imageMemberEquality baseClosed imageElimination dependent_set_memberEquality_alt addEquality

Latex:
\mforall{}[opr:Type]
    \mforall{}t:term(opr)
        ((\mexists{}v:varname().  ((\mneg{}(v  =  nullvar()))  \mwedge{}  (t  =  varterm(v))))
        \mvee{}  (\mexists{}f:opr
                \mexists{}bts:\{bt:bound-term(opr)|  bound-term-size(bt)  <  term-size(t)\}    List.  (t  =  mkterm(f;bts))))



Date html generated: 2020_05_19-PM-09_54_00
Last ObjectModification: 2020_03_09-PM-04_08_27

Theory : terms


Home Index