- changed status to resolved
XSB support for nested divisions
Attached file throws error in XSB:
Error: InternalIdpException: Error in XSB: ++Error[XSB/Runtime/P]: [Syntax] idpxsb_float ( X ) :- var ( X ) , between ( idpxsb_ - 1.79769e+308 , idpxsb_1 <--- HERE? ************
++ 7.9769e+307 , X )
This float range should not be generated and the excess checks for the float sort removed
Comments (13)
-
reporter -
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset fbbeb09544c9>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset 67acd753ccae>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset 22f412fef643>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset 505471c2ecd5>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset eba7ad2f3b9c>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset f6da56919ebe>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset a11cca9fe91b>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset 83c82ee014c5>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset affd43bef420>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset c41f8356771c>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset 8d7ef5c1bb71>>
-
reporter Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
x = 6/3.
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
... , IDPXSB_X is 6/3, ...
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset 8ae006559619>>
- Log in to comment
Improved handling of infinite ranges with XSB.
First: they are no longer printed as ranges. This implicitly assumes they are also not called from any of the rules. Second: Adaptations were made to the addition of instantiated variables. A list of already instantiated variables is kept and it prevents from variables being instantiated multiple times (needlessly). For the purpuse of infinite ranges, it is momentarily assumed that they are generated by being the result of operations. E.g. typing the following as part of a theory:
Will result in the type "float" being derived for x. This is no problem because the prolog code will be as follows:
after which IDPXSB_X will be considered instantiated. Hence the variable with an infinite derived type is instantiated.
This fixes bug
#423→ <<cset 67e7aec50994>>