private static IProposition constructConjunction(IProposition[] props, int idx) { if ((idx + 1) == props.Length) { return props[idx]; } return new ConjunctiveProposition(props[idx], constructConjunction( props, idx + 1)); } }