Nuprl Lemma : wf-term-hereditarily-correct-sort-arity

[opr:Type]
  ∀sort:term(opr) ⟶ ℕ. ∀arity:opr ⟶ ((ℕ × ℕList). ∀t:term(opr).
    (↑wf-term(arity;sort;t) ⇐⇒ hereditarily(opr;s.correct-sort-arity(sort;arity;s);t))


Proof




Definitions occuring in Statement :  wf-term: wf-term(arity;sort;t) correct-sort-arity: correct-sort-arity(sort;arity;t) hereditarily: hereditarily(opr;s.P[s];t) term: term(opr) list: List nat: assert: b uall: [x:A]. B[x] all: x:A. B[x] iff: ⇐⇒ Q function: x:A ⟶ B[x] product: x:A × B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T so_lambda: λ2x.t[x] so_apply: x[s] implies:  Q iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q correct-sort-arity: correct-sort-arity(sort;arity;t) varterm: varterm(v) isvarterm: isvarterm(t) isl: isl(x) assert: b ifthenelse: if then else fi  btrue: tt not: ¬A true: True false: False uimplies: supposing a wf-term: wf-term(arity;sort;t) prop: cand: c∧ B bound-term: bound-term(opr) uiff: uiff(P;Q) l_member: (x ∈ l) exists: x:A. B[x] pi2: snd(t) squash: T label: ...$L... t subtype_rel: A ⊆B guard: {T} rev_uimplies: rev_uimplies(P;Q) int_seg: {i..j-} nat: lelt: i ≤ j < k ge: i ≥  decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) mkterm: mkterm(opr;bts) term-opr: term-opr(t) let: let term-bts: term-bts(t) outr: outr(x) bfalse: ff pi1: fst(t) hereditarily: hereditarily(opr;s.P[s];t) le: A ≤ B
Lemmas referenced :  list_wf nat_wf term_wf istype-nat istype-universe term-induction iff_wf assert_wf wf-term_wf hereditarily_wf correct-sort-arity_wf hereditarily-varterm istype-true istype-void istype-assert varterm_wf nullvar_wf assert_witness varname_wf hereditarily-mkterm assert-wf-mkterm assert_functionality_wrt_uiff squash_wf true_wf equal_wf subtype_rel_self iff_weakening_equal l_member_wf bound-term_wf mkterm_wf nat_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf istype-int int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_wf istype-le istype-less_than int_seg_wf length_wf select_wf int_seg_properties decidable__lt intformless_wf int_formula_prop_less_lemma select_member trivial-subterm hereditarily_functionality_wrt_subterm
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt functionIsType universeIsType hypothesisEquality cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin productEquality hypothesis instantiate universeEquality sqequalRule lambdaEquality_alt inhabitedIsType independent_functionElimination independent_pairFormation because_Cache productElimination natural_numberEquality voidElimination setElimination rename independent_isectElimination equalityIstype setIsType dependent_functionElimination equalityTransitivity equalitySymmetry applyEquality imageElimination dependent_set_memberEquality_alt productIsType applyLambdaEquality imageMemberEquality baseClosed unionElimination approximateComputation dependent_pairFormation_alt int_eqEquality Error :memTop,  independent_pairEquality axiomEquality functionIsTypeImplies

Latex:
\mforall{}[opr:Type]
    \mforall{}sort:term(opr)  {}\mrightarrow{}  \mBbbN{}.  \mforall{}arity:opr  {}\mrightarrow{}  ((\mBbbN{}  \mtimes{}  \mBbbN{})  List).  \mforall{}t:term(opr).
        (\muparrow{}wf-term(arity;sort;t)  \mLeftarrow{}{}\mRightarrow{}  hereditarily(opr;s.correct-sort-arity(sort;arity;s);t))



Date html generated: 2020_05_19-PM-09_58_25
Last ObjectModification: 2020_03_11-PM-04_29_04

Theory : terms


Home Index