public Negation(Expression exp)
     : base()
 {
     this.exp = exp;
 }
 public PierceArrow(Expression exp1, Expression exp2)
 {
     this.exp1 = exp1;
     this.exp2 = exp2;
 }
 public ShefferStroke(Expression exp1, Expression exp2)
 {
     this.exp1 = exp1;
     this.exp2 = exp2;
 }
 public Implication(Expression exp1, Expression exp2)
     : base()
 {
     this.exp1 = exp1;
     this.exp2 = exp2;
 }
 public Equivalence(Expression exp1, Expression exp2)
     : base()
 {
     this.exp1 = exp1;
     this.exp2 = exp2;
 }
 public Intersection(Expression exp1, Expression exp2)
     : base()
 {
     this.exp1 = exp1;
     this.exp2 = exp2;
 }
 public Modulo2(Expression exp1, Expression exp2)
     : base()
 {
     this.exp1 = exp1;
     this.exp2 = exp2;
 }
 public Union(Expression exp1, Expression exp2)
     : base()
 {
     this.exp1 = exp1;
     this.exp2 = exp2;
 }