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]
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x], 
implies: P ⇒ Q, 
guard: {T}, 
so_lambda: λ2x.t[x], 
member: t ∈ T, 
uimplies: b supposing a, 
subtype_rel: A ⊆r B, 
nat: ℕ, 
prop: ℙ, 
so_apply: x[s], 
all: ∀x:A. B[x], 
le: A ≤ B, 
and: P ∧ Q, 
not: ¬A, 
false: False, 
ext-eq: A ≡ B, 
bool: 𝔹, 
unit: Unit, 
it: ⋅, 
btrue: tt, 
uiff: uiff(P;Q), 
sq_type: SQType(T), 
eq_atom: x =a y, 
ifthenelse: if b then t else f fi , 
pizero: pizero(), 
pi_term_size: pi_term_size(p), 
bfalse: ff, 
exists: ∃x:A. B[x], 
or: P ∨ Q, 
bnot: ¬bb, 
assert: ↑b, 
picomm: picomm(pre;body), 
cand: A c∧ B, 
ge: i ≥ j , 
decidable: Dec(P), 
satisfiable_int_formula: satisfiable_int_formula(fmla), 
top: Top, 
int_seg: {i..j-}, 
lelt: i ≤ j < k, 
less_than: a < b, 
squash: ↓T, 
pioption: pioption(left;right), 
pipar: pipar(left;right), 
pirep: pirep(body), 
pinew: pinew(name;body)
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:
2016_05_17-AM-11_22_35
Last ObjectModification:
2016_01_18-AM-07_49_35
Theory : event-logic-applications
Home
Index