public abstract Task <StatementProofResult> TryProof( IStatementProver statementProver);
public override async Task<StatementProofResult> TryProof( IStatementProver statementProver) { return await statementProver.Eval(this); }