Fiona is cold. Fiona is nice. Fiona is young. All furry, smart people are blue. Kind, nice people are not blue. Cold people are smart. All nice people are smart. All smart people are kind. If Fiona is not furry then Fiona is not smart.
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is young.
("Fiona" "is" "young" "+")
All furry, smart people are blue.
((("someone" "is" "furry" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
Kind, nice people are not blue.
((("someone" "is" "kind" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "-"))
Cold people are smart.
((("someone" "is" "cold" "+")) -> ("someone" "is" "smart" "+"))
All nice people are smart.
((("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
All smart people are kind.
((("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
If Fiona is not furry then Fiona is not smart.
((("Fiona" "is" "furry" "~")) -> ("Fiona" "is" "smart" "-"))
Fiona is young.
True
1
proof
[(triple3)]
("Fiona" "is" "young" "+")
triple3
Fiona is not young.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "young" "-")
triple3
Fiona is smart.
True
2
proof
[(((triple1) -> rule3) OR ((triple2) -> rule4))]
("Fiona" "is" "smart" "+")
((triple1) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple2) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is not smart.
False
2
inv-proof
[(((triple1) -> rule3) OR ((triple2) -> rule4))]
("Fiona" "is" "smart" "-")
((triple1) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple2) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is kind.
True
3
proof
[(((((triple1) -> rule3)) -> rule5) OR ((((triple2) -> rule4)) -> rule5))]
("Fiona" "is" "kind" "+")
((((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is not kind.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule5) OR ((((triple2) -> rule4)) -> rule5))]
("Fiona" "is" "kind" "-")
((((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is not blue.
True
5
proof
[(((((((triple1) -> rule3)) -> rule5) triple2) -> rule2) OR ((((((triple2) -> rule4)) -> rule5) triple2) -> rule2))]
("Fiona" "is" "blue" "-")
((((((triple1) -> (rule3 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple2) -> (rule4 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is blue.
False
5
inv-proof
[(((((((triple1) -> rule3)) -> rule5) triple2) -> rule2) OR ((((((triple2) -> rule4)) -> rule5) triple2) -> rule2))]
("Fiona" "is" "blue" "+")
((((((triple1) -> (rule3 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple2) -> (rule4 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
@0: Fiona is cold.[(triple1)] Fiona is nice.[(triple2)] Fiona is young.[(triple3)] @1: Fiona is smart.[(((triple1) -> rule3) OR ((triple2) -> rule4))] @2: Fiona is kind.[(((((triple1) -> rule3)) -> rule5) OR ((((triple2) -> rule4)) -> rule5))] @3: Fiona is not blue.[(((((((triple1) -> rule3)) -> rule5) triple2) -> rule2) OR ((((((triple2) -> rule4)) -> rule5) triple2) -> rule2))]
Fiona is cold.
("Fiona" "is" "cold" "+")
triple1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple2
Fiona is young.
("Fiona" "is" "young" "+")
triple3
Fiona is smart.
("Fiona" "is" "smart" "+")
((triple1) -> (rule3 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
((triple2) -> (rule4 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is not blue.
("Fiona" "is" "blue" "-")
((((((triple1) -> (rule3 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple2) -> (rule4 % int3))) -> (rule5 % int2)) triple2) -> (rule2 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3