use tnt::{Deduction, LogicError, Term};
fn main() -> Result<(), LogicError> {
let a = "a";
let b = "b";
let zero = Term::Zero;
let one = Term::one();
let mut d = Deduction::new("One Plus One Equals Two");
d.add_axiom(2)?;
d.specification(0, a, &one)?;
d.specification(1, b, &zero)?;
d.add_axiom(1)?;
d.specification(3, a, &one)?;
d.successor(4)?;
d.transitivity(2, 5)?;
println!("{}", d.pretty_string());
println!("{}", d.english());
println!("{}", d.arithmetize());
Ok(())
}