Skip to content

Instantly share code, notes, and snippets.

@dginev
Created September 28, 2019 02:13
Show Gist options
  • Save dginev/c17c5b18725383aa13882a7fbe236f4a to your computer and use it in GitHub Desktop.
Save dginev/c17c5b18725383aa13882a7fbe236f4a to your computer and use it in GitHub Desktop.
Truth's Tricky Interfaces
trait HonestSolver {
fn solve(p: DecidableLogicalProposition) -> (bool, LogicalProof);
// i.e. First- and Higher-order logic
fn solve_if_possible(p: MathProposition) -> Option<(bool, MathProof)>;
fn try_to_solve_if_possible(p: ComputableProposition) -> Result<Option<(bool,ExecutionTrace)>, Box<dyn Error>>;
fn try_to_solve_socially_if_possible(p: LanguageProposition) -> Arc<Mutex<Result<Option<(bool,Justification)>, Box<dyn Error>>>>;
fn try_to_establish_scientifically_if_possible(p: LanguageProposition) -> Result<Option<ScientificTheory>, Box<dyn Error>>;
fn try_to_establish_scientifically_and_establish_socially_if_possible
(p: LanguageProposition, pr: PeerReviewProcess) ->
Arc<Mutex<Result<Option<ScientificTheory>, Box<dyn Error>>>>;
}
// Rust Playground link, for fun:
// https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=7a8174da2b60460f0f076a129af2437f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment