diff options
author | dos-reis <gdr@axiomatics.org> | 2008-01-17 14:27:29 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-01-17 14:27:29 +0000 |
commit | 15dcc4936996a27019112ff58e9202a81d792047 (patch) | |
tree | 1e49da404b12b46c30989feac07e26f87f4810ba /src/interp | |
parent | f5ba07e55ec584939b62a3887c2ff7ebf8083759 (diff) | |
download | open-axiom-15dcc4936996a27019112ff58e9202a81d792047.tar.gz |
Fix SF/1849734
* interp/i-spec1.boot (upand): Don't insist on having operands of
type Boolean.
(upor): Likewise.
* algebra/mkrecord.spad.pamphlet (Pair): New domain constructor.
* algebra/exposed.lsp.pamphlet: Expose Pair, PropositionalLogic,
PropositionalFormula.
* algebra/boolean.spad.pamphlet (PropositionalFormula): New domain
constructor.
* algebra/Makefile.pamphlet (axiom_algebra_layer_4): Include
PAIR.o.
(axiom_algebra_layer_19): Include PROPFRML.o
* share/algebra: Update databases.
* testsuite/interpreter/1849734.input: New.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/i-spec1.boot | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/interp/i-spec1.boot b/src/interp/i-spec1.boot index 574d5b75..064c7e58 100644 --- a/src/interp/i-spec1.boot +++ b/src/interp/i-spec1.boot @@ -246,7 +246,7 @@ upand x == putTarget(term1,$Boolean) putTarget(term2,$Boolean) ms := bottomUp term1 - ms isnt [=$Boolean] => throwKeyedMsgSP("S2IS0054",[1,'"_"and_""],term1) + ms isnt [=$Boolean] => nil $genValue => BooleanEquality(objValUnwrap(getValue term1), getConstantFromDomain('(false),$Boolean)) => @@ -254,12 +254,12 @@ upand x == putModeSet(x,ms) -- first term is true, so look at the second one ms := bottomUp term2 - ms isnt [=$Boolean] => throwKeyedMsgSP("S2IS0054",[2,'"_"and_""],term2) + ms isnt [=$Boolean] => nil putValue(x,getValue term2) putModeSet(x,ms) ms := bottomUp term2 - ms isnt [=$Boolean] => throwKeyedMsgSP("S2IS0054",[2,'"_"and_""],term2) + ms isnt [=$Boolean] => nil -- generate an IF expression and let the rest of the code handle it cond := [mkAtreeNode "=",mkAtree "false",term1] putTarget(cond,$Boolean) @@ -276,7 +276,7 @@ upor x == putTarget(term1,$Boolean) putTarget(term2,$Boolean) ms := bottomUp term1 - ms isnt [=$Boolean] => throwKeyedMsgSP("S2IS0054",[1,'"_"or_""],term1) + ms isnt [=$Boolean] => nil $genValue => BooleanEquality(objValUnwrap(getValue term1), getConstantFromDomain('(true),$Boolean)) => @@ -284,12 +284,12 @@ upor x == putModeSet(x,ms) -- first term is false, so look at the second one ms := bottomUp term2 - ms isnt [=$Boolean] => throwKeyedMsgSP("S2IS0054",[2,'"_"or_""],term2) + ms isnt [=$Boolean] => nil putValue(x,getValue term2) putModeSet(x,ms) ms := bottomUp term2 - ms isnt [=$Boolean] => throwKeyedMsgSP("S2IS0054",[2,'"_"or_""],term2) + ms isnt [=$Boolean] => nil -- generate an IF expression and let the rest of the code handle it cond := [mkAtreeNode "=",mkAtree "true",term1] putTarget(cond,$Boolean) |