public static bool _eval(Implication p)
 {
     return !p. antecedent () || p.consequent ();
 }
 public DoubleImplication(Func <bool> Consequent, Func <bool> Antecedent)
     : this()
 {
     p = new Implication(Antecedent, Consequent);
 }
 public DoubleImplication(Func<bool> Consequent, Func<bool> Antecedent)
     : this()
 {
     p = new Implication (Antecedent, Consequent);
 }
 public static bool _eval(Implication p)
 {
     return(!p.antecedent() || p.consequent());
 }