Nuprl Lemma : pi_term-induction

∀[P:pi_term() ─→ ℙ]
  (P[pizero()]
  ⇒ (∀pre:pi_prefix(). ∀body:pi_term().  (P[body] ⇒ P[picomm(pre;body)]))
  ⇒ (∀left,right:pi_term().  (P[left] ⇒ P[right] ⇒ P[pioption(left;right)]))
  ⇒ (∀left,right:pi_term().  (P[left] ⇒ P[right] ⇒ P[pipar(left;right)]))
  ⇒ (∀body:pi_term(). (P[body] ⇒ P[pirep(body)]))
  ⇒ (∀name:Name. ∀body:pi_term().  (P[body] ⇒ P[pinew(name;body)]))
  ⇒ {∀v:pi_term(). P[v]})


Proof




Definitions occuring in Statement :  pinew: pinew(name;body),  pirep: pirep(body),  pipar: pipar(left;right),  pioption: pioption(left;right),  picomm: picomm(pre;body),  pizero: pizero(),  pi_term: pi_term(),  pi_prefix: pi_prefix(),  name: Name,  uall: ∀[x:A]. B[x],  prop: ℙ,  guard: {T},  so_apply: x[s],  all: ∀x:A. B[x],  implies: P ⇒ Q,  function: x:A ─→ B[x]
Lemmas :  uniform-comp-nat-induction,  all_wf,  isect_wf,  le_wf,  pi_term_size_wf,  nat_wf,  less_than_wf,  pi_term-ext,  eq_atom_wf,  bool_wf,  eqtt_to_assert,  assert_of_eq_atom,  subtype_base_sq,  atom_subtype_base,  unit_wf2,  unit_subtype_base,  it_wf,  eqff_to_assert,  equal_wf,  bool_cases_sqequal,  bool_subtype_base,  assert-bnot,  neg_assert_of_eq_atom,  decidable__lt,  false_wf,  add_functionality_wrt_le,  add-swap,  add-commutes,  le-add-cancel,  subtract_wf,  decidable__le,  not-le-2,  less-iff-le,  condition-implies-le,  minus-one-mul,  zero-add,  minus-add,  minus-minus,  add-associates,  add-zero,  subtract-is-less,  lelt_wf,  uall_wf,  int_seg_wf,  le_weakening,  name_wf,  pinew_wf,  pirep_wf,  pipar_wf,  pi_term_wf,  pioption_wf,  pi_prefix_wf,  picomm_wf,  pizero_wf

Latex:
\mforall{}[P:pi\_term()  {}\mrightarrow{}  \mBbbP{}]
    (P[pizero()]
    {}\mRightarrow{}  (\mforall{}pre:pi\_prefix().  \mforall{}body:pi\_term().    (P[body]  {}\mRightarrow{}  P[picomm(pre;body)]))
    {}\mRightarrow{}  (\mforall{}left,right:pi\_term().    (P[left]  {}\mRightarrow{}  P[right]  {}\mRightarrow{}  P[pioption(left;right)]))
    {}\mRightarrow{}  (\mforall{}left,right:pi\_term().    (P[left]  {}\mRightarrow{}  P[right]  {}\mRightarrow{}  P[pipar(left;right)]))
    {}\mRightarrow{}  (\mforall{}body:pi\_term().  (P[body]  {}\mRightarrow{}  P[pirep(body)]))
    {}\mRightarrow{}  (\mforall{}name:Name.  \mforall{}body:pi\_term().    (P[body]  {}\mRightarrow{}  P[pinew(name;body)]))
    {}\mRightarrow{}  \{\mforall{}v:pi\_term().  P[v]\})



Date html generated: 2015_07_23-AM-11_32_43
Last ObjectModification: 2015_01_29-AM-00_55_04

Home Index