Nuprl Definition : FormSafe2

FormSafe2(f) ==
  Form_ind(f;
           FormVar(v)⇒ λvs.ff;
           FormConst(c)⇒ λvs.ff;
           FormSet(x,phi)⇒ r.λvs.ff;
           FormEqual(a,b)⇒ ra,rb.λvs.(null(vs)
                                      ∨blet x = hd(vs) in
                                            null(vs-[x])
                                            ∧b ((FormVar?(a) ∧b FormVar-name(a) =a x ∧b (¬bx ∈b FormFvs(b)))
                                               ∨b(FormVar?(b) ∧b FormVar-name(b) =a x ∧b (¬bx ∈b FormFvs(a)))));
           FormMember(a,b)⇒ ra,rb.λvs.(null(vs)
                                       ∨blet x = hd(vs) in
                                             null(vs-[x])
                                             ∧b FormVar?(a)
                                             ∧b FormVar-name(a) =a x
                                             ∧b ((FormVar?(b) ∧b FormVar-name(b) =a x) ∨b(¬bx ∈b FormFvs(b))));
           FormAnd(a,b)⇒ ra,rb.λvs.eval as = FormFvs(a) in
                                    eval bs = FormFvs(b) in
                                      eval theta = vs-bs in
                                      (ra theta) ∧b (rb vs-theta)
                                      ∨beval phi = vs-as in
                                        (ra vs-phi) ∧b (rb phi);
           FormOr(a,b)⇒ ra,rb.λvs.((ra vs) ∧b (rb vs));
           FormNot(a)⇒ ra.λvs.(null(vs) ∧b (ra []));
           FormAll(x,phi)⇒ r.λvs.ff;
           FormExists(x,phi)⇒ r.λvs.((¬bx ∈b vs) ∧b (r [x / vs]))) 



Definitions occuring in Statement :  FormFvs: FormFvs(f),  Form_ind: Form_ind,  FormVar-name: FormVar-name(v),  FormVar?: FormVar?(v),  list-diff: as-bs,  hd: hd(l),  null: null(as),  deq-member: x ∈b L,  cons: [a / b],  nil: [],  atom-deq: AtomDeq,  bor: p ∨bq,  band: p ∧b q,  callbyvalue: callbyvalue,  bnot: ¬bb,  eq_atom: x =a y,  bfalse: ff,  let: let,  apply: f a,  lambda: λx.A[x]
Definitions occuring in definition :  apply: f a,  atom-deq: AtomDeq,  deq-member: x ∈b L,  bnot: ¬bb,  band: p ∧b q,  lambda: λx.A[x],  bfalse: ff,  nil: [],  null: null(as),  list-diff: as-bs,  callbyvalue: callbyvalue,  bor: p ∨bq,  FormFvs: FormFvs(f),  FormVar-name: FormVar-name(v),  eq_atom: x =a y,  FormVar?: FormVar?(v),  cons: [a / b],  hd: hd(l),  let: let,  Form_ind: Form_ind
FDL editor aliases :  FormSafe2 FormSafe2

Latex:
FormSafe2(f)  ==
    Form\_ind(f;
                      FormVar(v){}\mRightarrow{}  \mlambda{}vs.ff;
                      FormConst(c){}\mRightarrow{}  \mlambda{}vs.ff;
                      FormSet(x,phi){}\mRightarrow{}  r.\mlambda{}vs.ff;
                      FormEqual(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.(null(vs)
                                                                            \mvee{}\msubb{}let  x  =  hd(vs)  in
                                                                                        null(vs-[x])
                                                                                        \mwedge{}\msubb{}  ((FormVar?(a)
                                                                                              \mwedge{}\msubb{}  FormVar-name(a)  =a  x
                                                                                              \mwedge{}\msubb{}  (\mneg{}\msubb{}x  \mmember{}\msubb{}  FormFvs(b)))
                                                                                              \mvee{}\msubb{}(FormVar?(b)
                                                                                                  \mwedge{}\msubb{}  FormVar-name(b)  =a  x
                                                                                                  \mwedge{}\msubb{}  (\mneg{}\msubb{}x  \mmember{}\msubb{}  FormFvs(a)))));
                      FormMember(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.(null(vs)
                                                                              \mvee{}\msubb{}let  x  =  hd(vs)  in
                                                                                          null(vs-[x])
                                                                                          \mwedge{}\msubb{}  FormVar?(a)
                                                                                          \mwedge{}\msubb{}  FormVar-name(a)  =a  x
                                                                                          \mwedge{}\msubb{}  ((FormVar?(b)  \mwedge{}\msubb{}  FormVar-name(b)  =a  x)
                                                                                                \mvee{}\msubb{}(\mneg{}\msubb{}x  \mmember{}\msubb{}  FormFvs(b))));
                      FormAnd(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.eval  as  =  FormFvs(a)  in
                                                                        eval  bs  =  FormFvs(b)  in
                                                                            eval  theta  =  vs-bs  in
                                                                            (ra  theta)  \mwedge{}\msubb{}  (rb  vs-theta)
                                                                            \mvee{}\msubb{}eval  phi  =  vs-as  in
                                                                                (ra  vs-phi)  \mwedge{}\msubb{}  (rb  phi);
                      FormOr(a,b){}\mRightarrow{}  ra,rb.\mlambda{}vs.((ra  vs)  \mwedge{}\msubb{}  (rb  vs));
                      FormNot(a){}\mRightarrow{}  ra.\mlambda{}vs.(null(vs)  \mwedge{}\msubb{}  (ra  []));
                      FormAll(x,phi){}\mRightarrow{}  r.\mlambda{}vs.ff;
                      FormExists(x,phi){}\mRightarrow{}  r.\mlambda{}vs.((\mneg{}\msubb{}x  \mmember{}\msubb{}  vs)  \mwedge{}\msubb{}  (r  [x  /  vs]))) 



Date html generated: 2018_05_21-PM-11_30_06
Last ObjectModification: 2017_10_12-PM-03_56_21

Theory : PZF


Home Index