Charlie is nice. Charlie is rough. Charlie is smart. All young things are blue. All young things are green. Green things are blue. If Charlie is rough and Charlie is smart then Charlie is young. If Charlie is smart and Charlie is young then Charlie is blue. All nice, smart things are rough.
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
All young things are blue.
((("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
All young things are green.
((("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
Green things are blue.
((("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
If Charlie is rough and Charlie is smart then Charlie is young.
((("Charlie" "is" "rough" "+") ("Charlie" "is" "smart" "+")) -> ("Charlie" "is" "young" "+"))
If Charlie is smart and Charlie is young then Charlie is blue.
((("Charlie" "is" "smart" "+") ("Charlie" "is" "young" "+")) -> ("Charlie" "is" "blue" "+"))
All nice, smart things are rough.
((("something" "is" "nice" "+") ("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
Charlie is nice.
True
1
proof
[(triple1)]
("Charlie" "is" "nice" "+")
triple1
Charlie is not rough.
False
1
inv-proof
[(triple2 OR ((triple1 triple3) -> rule6))]
("Charlie" "is" "rough" "-")
triple2
((triple1 triple3) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is young.
True
3
proof
[(((triple2 triple3) -> rule4) OR ((((triple1 triple3) -> rule6) triple3) -> rule4))]
("Charlie" "is" "young" "+")
((triple2 triple3) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple1 triple3) -> (rule6 % int2)) triple3) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is not young.
False
3
inv-proof
[(((triple2 triple3) -> rule4) OR ((((triple1 triple3) -> rule6) triple3) -> rule4))]
("Charlie" "is" "young" "-")
((triple2 triple3) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple1 triple3) -> (rule6 % int2)) triple3) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is green.
True
4
proof
[(((((triple2 triple3) -> rule4)) -> rule2) OR ((((((triple1 triple3) -> rule6) triple3) -> rule4)) -> rule2))]
("Charlie" "is" "green" "+")
((((triple2 triple3) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple1 triple3) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is not green.
False
4
inv-proof
[(((((triple2 triple3) -> rule4)) -> rule2) OR ((((((triple1 triple3) -> rule6) triple3) -> rule4)) -> rule2))]
("Charlie" "is" "green" "-")
((((triple2 triple3) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple1 triple3) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
@0: Charlie is nice.[(triple1)] Charlie is rough.[(triple2 OR ((triple1 triple3) -> rule6))] Charlie is smart.[(triple3)] @1: Charlie is young.[(((triple2 triple3) -> rule4) OR ((((triple1 triple3) -> rule6) triple3) -> rule4))] @2: Charlie is blue.[(((((triple2 triple3) -> rule4)) -> rule1) OR ((triple3 ((triple2 triple3) -> rule4)) -> rule5) OR ((((((triple2 triple3) -> rule4)) -> rule2)) -> rule3) OR ((((((triple1 triple3) -> rule6) triple3) -> rule4)) -> rule1) OR ((triple3 ((((triple1 triple3) -> rule6) triple3) -> rule4)) -> rule5) OR ((((((((triple1 triple3) -> rule6) triple3) -> rule4)) -> rule2)) -> rule3))] Charlie is green.[(((((triple2 triple3) -> rule4)) -> rule2) OR ((((((triple1 triple3) -> rule6) triple3) -> rule4)) -> rule2))]
Charlie is nice.
("Charlie" "is" "nice" "+")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
((triple1 triple3) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple3
Charlie is young.
("Charlie" "is" "young" "+")
((triple2 triple3) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple1 triple3) -> (rule6 % int2)) triple3) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple2 triple3) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((triple3 ((triple2 triple3) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple2 triple3) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
((((((triple1 triple3) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((triple3 ((((triple1 triple3) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((((((triple1 triple3) -> (rule6 % int4)) triple3) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
((((triple2 triple3) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple1 triple3) -> (rule6 % int3)) triple3) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3