Nuprl Lemma : proof-tree-induction

[Sequent,Rule:Type].
  ∀effect:(Sequent × Rule) ⟶ (Sequent List?)
    ∀[Q:proof-tree(Sequent;Rule;effect) ⟶ ℙ]
      ((∀s:Sequent. ∀r:Rule.  Q[proof-abort(s;r)] supposing ↑isr(effect <s, r>))
       (∀s:Sequent. ∀r:Rule.
            ∀L:proof-tree(Sequent;Rule;effect) List
              (∀pf∈L.Q[pf])  Q[make-proof-tree(s;r;L)] supposing ||L|| ||outl(effect <s, r>)|| ∈ ℤ 
            supposing ↑isl(effect <s, r>))
       (∀pf:proof-tree(Sequent;Rule;effect). Q[pf]))


Proof




Definitions occuring in Statement :  proof-abort: proof-abort(s;r) make-proof-tree: make-proof-tree(s;r;L) proof-tree: proof-tree(Sequent;Rule;effect) l_all: (∀x∈L.P[x]) length: ||as|| list: List outl: outl(x) assert: b isr: isr(x) isl: isl(x) uimplies: supposing a uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q unit: Unit apply: a function: x:A ⟶ B[x] pair: <a, b> product: x:A × B[x] union: left right int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] implies:  Q proof-tree: proof-tree(Sequent;Rule;effect) member: t ∈ T so_lambda: λ2x.t[x] so_apply: x[s] uimplies: supposing a and: P ∧ Q isl: isl(x) sq_type: SQType(T) guard: {T} assert: b ifthenelse: if then else fi  btrue: tt true: True subtype_rel: A ⊆B isr: isr(x) prop: nat: outl: outl(x) not: ¬A false: False ge: i ≥  decidable: Dec(P) or: P ∨ Q le: A ≤ B satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] squash: T l_all: (∀x∈L.P[x]) top: Top Wsup: Wsup(a;b) make-proof-tree: make-proof-tree(s;r;L) lelt: i ≤ j < k int_seg: {i..j-} proof-abort: proof-abort(s;r)
Lemmas referenced :  W-induction int_seg_wf length_wf btrue_wf bfalse_wf subtype_base_sq bool_wf bool_subtype_base assert_wf isr_wf list_wf unit_wf2 istype-void proof-tree_wf istype-assert istype-int length_wf_nat set_subtype_base le_wf int_subtype_base outl_wf l_all_wf l_member_wf make-proof-tree_wf subtype_rel_self proof-abort_wf istype-universe nat_wf non_neg_length btrue_neq_bfalse decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf 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 squash_wf isl_wf istype-le mklist_wf mklist_length trivial-equal select-mklist W_wf true_wf Wsup_wf less_than_wf equal_wf istype-less_than lelt_wf subtype_rel_sets unit_subtype_base subtype_rel-equal
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt sqequalHypSubstitution cut introduction extract_by_obid isectElimination thin productEquality hypothesisEquality sqequalRule lambdaEquality_alt applyEquality inhabitedIsType hypothesis unionElimination natural_numberEquality voidEquality equalityIstype equalityTransitivity equalitySymmetry dependent_functionElimination independent_functionElimination productIsType universeIsType equalityElimination productElimination rename independent_isectElimination dependent_set_memberEquality_alt independent_pairFormation applyLambdaEquality setElimination instantiate cumulativity functionIsType because_Cache hyp_replacement voidElimination isectIsType independent_pairEquality intEquality sqequalBase setIsType universeEquality unionIsType approximateComputation dependent_pairFormation_alt int_eqEquality Error :memTop,  imageElimination imageMemberEquality baseClosed isect_memberEquality_alt closedConclusion functionExtensionality equalityIsType1 baseApply equalityIsType4 unionEquality promote_hyp equalityIsType3

Latex:
\mforall{}[Sequent,Rule:Type].
    \mforall{}effect:(Sequent  \mtimes{}  Rule)  {}\mrightarrow{}  (Sequent  List?)
        \mforall{}[Q:proof-tree(Sequent;Rule;effect)  {}\mrightarrow{}  \mBbbP{}]
            ((\mforall{}s:Sequent.  \mforall{}r:Rule.    Q[proof-abort(s;r)]  supposing  \muparrow{}isr(effect  <s,  r>))
            {}\mRightarrow{}  (\mforall{}s:Sequent.  \mforall{}r:Rule.
                        \mforall{}L:proof-tree(Sequent;Rule;effect)  List
                            (\mforall{}pf\mmember{}L.Q[pf])  {}\mRightarrow{}  Q[make-proof-tree(s;r;L)]  supposing  ||L||  =  ||outl(effect  <s,  r>)|| 
                        supposing  \muparrow{}isl(effect  <s,  r>))
            {}\mRightarrow{}  (\mforall{}pf:proof-tree(Sequent;Rule;effect).  Q[pf]))



Date html generated: 2020_05_20-AM-08_04_51
Last ObjectModification: 2019_12_26-PM-04_07_32

Theory : general


Home Index