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 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 hd(vs) in
                                             null(vs-[x])
                                             ∧b FormVar?(a)
                                             ∧b FormVar-name(a) =a x
                                             ∧b ((FormVar?(b) ∧b FormVar-name(b) =a x) ∨bbx ∈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: =a y bfalse: ff let: let apply: a lambda: λx.A[x]
Definitions occuring in definition :  apply: 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: =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