Charlie is smart. Erin is blue. Fiona is not cold. All cold, blue people are rough. Smart people are cold. All rough people are cold. All cold, white people are not nice. Blue people are nice. If someone is quiet and not white then they are not blue. All nice people are smart. If someone is smart and cold then they are quiet.
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Fiona is not cold.
("Fiona" "is" "cold" "-")
All cold, blue people are rough.
((("someone" "is" "cold" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
Smart people are cold.
((("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
All rough people are cold.
((("someone" "is" "rough" "+")) -> ("someone" "is" "cold" "+"))
All cold, white people are not nice.
((("someone" "is" "cold" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "nice" "-"))
Blue people are nice.
((("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
If someone is quiet and not white then they are not blue.
((("someone" "is" "quiet" "+") ("someone" "is" "white" "~")) -> ("someone" "is" "blue" "-"))
All nice people are smart.
((("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
If someone is smart and cold then they are quiet.
((("someone" "is" "smart" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "quiet" "+"))
Erin is blue.
True
1
proof
[(triple2)]
("Erin" "is" "blue" "+")
triple2
Charlie is not smart.
False
1
inv-proof
[(triple1)]
("Charlie" "is" "smart" "-")
triple1
Erin is nice.
True
2
proof
[(((triple2) -> rule5))]
("Erin" "is" "nice" "+")
((triple2) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Charlie is not cold.
False
2
inv-proof
[(((triple1) -> rule2))]
("Charlie" "is" "cold" "-")
((triple1) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is quiet.
True
4
proof
[(((triple1 ((triple1) -> rule2)) -> rule8))]
("Charlie" "is" "quiet" "+")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is not quiet.
False
4
inv-proof
[(((triple1 ((triple1) -> rule2)) -> rule8))]
("Charlie" "is" "quiet" "-")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Erin is cold.
True
4
proof
[(((((((triple2) -> rule5)) -> rule7)) -> rule2))]
("Erin" "is" "cold" "+")
((((((triple2) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is not cold.
False
4
inv-proof
[(((((((triple2) -> rule5)) -> rule7)) -> rule2))]
("Erin" "is" "cold" "-")
((((((triple2) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Fiona is not smart.
Unknown
inv-rconc
[@2: Fiona is smart.[CWA. Example of deepest failure = (rule7 <- rule5 <- FAIL)]]
("Fiona" "is" "smart" "-")
Fiona is quiet.
Unknown
rconc
[@1: Fiona is quiet.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Fiona" "is" "quiet" "+")
Fiona is not rough.
Unknown
inv-rconc
[@1: Fiona is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "rough" "-")
Charlie is rough.
Unknown
rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "rough" "+")
Charlie is not white.
Unknown
inv-random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "-")
Erin is white.
Unknown
random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "+")
Fiona is not blue.
Unknown
inv-random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
@0: Charlie is smart.[(triple1)] Erin is blue.[(triple2)] Fiona is not cold.[(triple3)] @1: Charlie is cold.[(((triple1) -> rule2))] Erin is nice.[(((triple2) -> rule5))] @2: Charlie is quiet.[(((triple1 ((triple1) -> rule2)) -> rule8))] Erin is smart.[(((((triple2) -> rule5)) -> rule7))] @3: Erin is cold.[(((((((triple2) -> rule5)) -> rule7)) -> rule2))] @4: Erin is quiet.[(((((((triple2) -> rule5)) -> rule7) ((((((triple2) -> rule5)) -> rule7)) -> rule2)) -> rule8))] Erin is rough.[(((((((((triple2) -> rule5)) -> rule7)) -> rule2) triple2) -> rule1))]
Charlie is smart.
("Charlie" "is" "smart" "+")
triple1
Erin is blue.
("Erin" "is" "blue" "+")
triple2
Fiona is not cold.
("Fiona" "is" "cold" "-")
triple3
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple1) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple2) -> (rule5 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple1 ((triple1) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
((((triple2) -> (rule5 % int2))) -> (rule7 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
((((((triple2) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is quiet.
("Erin" "is" "quiet" "+")
((((((triple2) -> (rule5 % int4))) -> (rule7 % int3)) ((((((triple2) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is rough.
("Erin" "is" "rough" "+")
((((((((triple2) -> (rule5 % int4))) -> (rule7 % int3))) -> (rule2 % int2)) triple2) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4