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:  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