Charlie is blue. Charlie is kind. Charlie is nice. Charlie is round. Charlie is smart. Dave is blue. Dave is kind. Dave is nice. Dave is quiet. Dave is rough. Dave is round. Dave is smart. If Dave is smart and Dave is round then Dave is nice. All blue, round people are rough. Nice, blue people are smart. All round, rough people are quiet. All round people are rough. All quiet, round people are kind.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
If Dave is smart and Dave is round then Dave is nice.
((("Dave" "is" "smart" "+") ("Dave" "is" "round" "+")) -> ("Dave" "is" "nice" "+"))
All blue, round people are rough.
((("someone" "is" "blue" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
Nice, blue people are smart.
((("someone" "is" "nice" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
All round, rough people are quiet.
((("someone" "is" "round" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "quiet" "+"))
All round people are rough.
((("someone" "is" "round" "+")) -> ("someone" "is" "rough" "+"))
All quiet, round people are kind.
((("someone" "is" "quiet" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
Dave is blue.
True
1
proof
[(triple6)]
("Dave" "is" "blue" "+")
triple6
Dave is not round.
False
1
inv-proof
[(triple11)]
("Dave" "is" "round" "-")
triple11
Charlie is rough.
True
2
proof
[(((triple4) -> rule5) OR ((triple1 triple4) -> rule2))]
("Charlie" "is" "rough" "+")
((triple4) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple1 triple4) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is not rough.
False
2
inv-proof
[(((triple4) -> rule5) OR ((triple1 triple4) -> rule2))]
("Charlie" "is" "rough" "-")
((triple4) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple1 triple4) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
@0: Charlie is blue.[(triple1)] Charlie is kind.[(triple2 OR ((((triple4 ((triple4) -> rule5)) -> rule4) triple4) -> rule6) OR ((((triple4 ((triple1 triple4) -> rule2)) -> rule4) triple4) -> rule6))] Charlie is nice.[(triple3)] Charlie is round.[(triple4)] Charlie is smart.[(triple5 OR ((triple3 triple1) -> rule3))] Dave is blue.[(triple6)] Dave is kind.[(triple7 OR ((triple9 triple11) -> rule6) OR ((((triple11 triple10) -> rule4) triple11) -> rule6) OR ((((triple11 ((triple11) -> rule5)) -> rule4) triple11) -> rule6) OR ((((triple11 ((triple6 triple11) -> rule2)) -> rule4) triple11) -> rule6))] Dave is nice.[(triple8 OR ((triple12 triple11) -> rule1))] Dave is quiet.[(triple9 OR ((triple11 triple10) -> rule4) OR ((triple11 ((triple11) -> rule5)) -> rule4) OR ((triple11 ((triple6 triple11) -> rule2)) -> rule4))] Dave is rough.[(triple10 OR ((triple11) -> rule5) OR ((triple6 triple11) -> rule2))] Dave is round.[(triple11)] Dave is smart.[(triple12 OR ((triple8 triple6) -> rule3))] @1: Charlie is rough.[(((triple4) -> rule5) OR ((triple1 triple4) -> rule2))] @2: Charlie is quiet.[(((triple4 ((triple4) -> rule5)) -> rule4) OR ((triple4 ((triple1 triple4) -> rule2)) -> rule4))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is kind.
("Charlie" "is" "kind" "+")
triple2
((((triple4 ((triple4) -> (rule5 % int3))) -> (rule4 % int2)) triple4) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((triple4 ((triple1 triple4) -> (rule2 % int3))) -> (rule4 % int2)) triple4) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
Charlie is smart.
("Charlie" "is" "smart" "+")
triple5
((triple3 triple1) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
triple6
Dave is kind.
("Dave" "is" "kind" "+")
triple7
((triple9 triple11) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((((triple11 triple10) -> (rule4 % int2)) triple11) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((((triple11 ((triple11) -> (rule5 % int3))) -> (rule4 % int2)) triple11) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((triple11 ((triple6 triple11) -> (rule2 % int3))) -> (rule4 % int2)) triple11) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
triple8
((triple12 triple11) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
triple9
((triple11 triple10) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple11 ((triple11) -> (rule5 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple11 ((triple6 triple11) -> (rule2 % int2))) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
triple10
((triple11) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple6 triple11) -> (rule2 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple11
Dave is smart.
("Dave" "is" "smart" "+")
triple12
((triple8 triple6) -> (rule3 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple4) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple1 triple4) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple4 ((triple4) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((triple4 ((triple1 triple4) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2