public static int SortOrder(this Negation f) { WFF i = f.inner; if (i is AtomicWFF) { return(0); } else if (i is Biconditional) { return(2); } else if (i is Conditional) { return(1); } else if (i is Conjunction) { return(((Conjunction)i).arity); } else if (i is Disjunction) { return(1); } else if (i is Negation) { return(1); } else if (i is Quantifier) { return(1); } throw new NotImplementedException(f.GetType().ToString()); }
public static bool Decomposable(this Negation f) { WFF i = f.inner; if (i is AtomicWFF) { return(false); } else if (i is Biconditional) { return(true); } else if (i is Conditional) { return(true); } else if (i is Conjunction) { return(true); } else if (i is Disjunction) { return(true); } else if (i is Negation) { return(true); } else if (i is Quantifier) { return(true); } throw new NotImplementedException(f.GetType().ToString()); }