Charlie is cold. Charlie is nice. Charlie is round. Charlie is smart. Erin is round. Erin is smart. Erin is young. All nice people are rough. All rough people are white. Young people are cold. If Charlie is smart and Charlie is cold then Charlie is white. If someone is smart and white then they are cold. Smart people are nice.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is young.
("Erin" "is" "young" "+")
All nice people are rough.
((("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
All rough people are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Young people are cold.
((("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
If Charlie is smart and Charlie is cold then Charlie is white.
((("Charlie" "is" "smart" "+") ("Charlie" "is" "cold" "+")) -> ("Charlie" "is" "white" "+"))
If someone is smart and white then they are cold.
((("someone" "is" "smart" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "cold" "+"))
Smart people are nice.
((("someone" "is" "smart" "+")) -> ("someone" "is" "nice" "+"))
Charlie is smart.
True
1
proof
[(triple4)]
("Charlie" "is" "smart" "+")
triple4
Erin is not round.
False
1
inv-proof
[(triple5)]
("Erin" "is" "round" "-")
triple5
Charlie is white.
True
3
proof
[(((triple4 triple1) -> rule4) OR ((((triple2) -> rule1)) -> rule2) OR ((((((triple4) -> rule6)) -> rule1)) -> rule2))]
("Charlie" "is" "white" "+")
((triple4 triple1) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is not white.
False
3
inv-proof
[(((triple4 triple1) -> rule4) OR ((((triple2) -> rule1)) -> rule2) OR ((((((triple4) -> rule6)) -> rule1)) -> rule2))]
("Charlie" "is" "white" "-")
((triple4 triple1) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Erin is rough.
True
3
proof
[(((((triple6) -> rule6)) -> rule1))]
("Erin" "is" "rough" "+")
((((triple6) -> (rule6 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is not rough.
False
3
inv-proof
[(((((triple6) -> rule6)) -> rule1))]
("Erin" "is" "rough" "-")
((((triple6) -> (rule6 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
True
4
proof
[(((((((triple6) -> rule6)) -> rule1)) -> rule2))]
("Erin" "is" "white" "+")
((((((triple6) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is not white.
False
4
inv-proof
[(((((((triple6) -> rule6)) -> rule1)) -> rule2))]
("Erin" "is" "white" "-")
((((((triple6) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
@0: Charlie is cold.[(triple1 OR ((triple4 ((((triple2) -> rule1)) -> rule2)) -> rule5) OR ((triple4 ((((((triple4) -> rule6)) -> rule1)) -> rule2)) -> rule5))] Charlie is nice.[(triple2 OR ((triple4) -> rule6))] Charlie is round.[(triple3)] Charlie is smart.[(triple4)] Erin is round.[(triple5)] Erin is smart.[(triple6)] Erin is young.[(triple7)] @1: Charlie is rough.[(((triple2) -> rule1) OR ((((triple4) -> rule6)) -> rule1))] Charlie is white.[(((triple4 triple1) -> rule4) OR ((((triple2) -> rule1)) -> rule2) OR ((((((triple4) -> rule6)) -> rule1)) -> rule2))] Erin is cold.[(((triple7) -> rule3) OR ((triple6 ((((((triple6) -> rule6)) -> rule1)) -> rule2)) -> rule5))] Erin is nice.[(((triple6) -> rule6))] @2: Erin is rough.[(((((triple6) -> rule6)) -> rule1))] @3: Erin is white.[(((((((triple6) -> rule6)) -> rule1)) -> rule2))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
((triple4 ((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((triple4 ((((((triple4) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
((triple4) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple4
Erin is round.
("Erin" "is" "round" "+")
triple5
Erin is smart.
("Erin" "is" "smart" "+")
triple6
Erin is young.
("Erin" "is" "young" "+")
triple7
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((((triple4) -> (rule6 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
((triple4 triple1) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((((triple4) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Erin is cold.
("Erin" "is" "cold" "+")
((triple7) -> (rule3 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple6 ((((((triple6) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
((triple6) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((((triple6) -> (rule6 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
((((((triple6) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3