(* Implication is defined as follows: X Y X implies Y ----- ----- ----------- false false true false true true true false false true true true Write a lambda function implies = Lx.Ly. *) val implies = fn x => fn y => (Lnot ((Land x) (Lnot y))); (* Equivalence is defined by: X Y X equiv Y ----- ----- --------- false false true false true false true false false true true true Write a lambda function equiv = Lx.Ly. *) val equiv = fn x => fn y => ((Lor ((Land x) y)) ((Land (Lnot x)) (Lnot y))); (* The above is possible given the definitions of Ltrue, Lfalse, Land, Lor, Lnot, and cond. *)