kdrag.solvers
Facilities for pretty printing and calling external solvers
To install extra solvers, run either:
`
python3 -m kdrag.solvers install # install extra solvers
`
or from project root run
`
./install.sh # install extra solvers
`
Functions
|
|
|
|
|
|
|
|
|
|
|
|
|
Classes
|
|
- class kdrag.solvers.BaseSolver
Bases:
object- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.EProverSolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.EProverTHFSolver
Bases:
EProverSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.LeanSolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.LeoIIISolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.MultiSolver(solvers=None, strict=False)
Bases:
BaseSolver- a = a
- add(thm)
- assert_and_track(thm, name)
- b = b
- c = c
- check(strict=False)
- with concurrent.futures.ThreadPoolExecutor(
max_workers=len(self.solvers)
- ) as executor:
results = list(executor.map(lambda s: s.check(), self.solvers))
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- solver_classes = [<class 'kdrag.solvers.VampireTHFSolver'>, <class 'kdrag.solvers.EProverTHFSolver'>, <class 'kdrag.solvers.LeoIIISolver'>]
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.NanoCopISolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.TweeSolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.VampireSolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof()
- query(q)
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.VampireTHFSolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- class kdrag.solvers.ZipperpositionSolver
Bases:
BaseSolver- a = a
- add(thm: BoolRef)
- Parameters:
thm (BoolRef)
- assert_and_track(thm: BoolRef, name: str)
- Parameters:
thm (BoolRef)
name (str)
- b = b
- c = c
- check()
- check_tptp_status(res)
- k = k
- m = m
- n = n
- options: dict
- predefined = [And, Or, Not, Implies, -, +, *, ==, <=]
- predefined_sorts = ['Int', 'Real', 'Bool']
- proof() object
- Return type:
object
- res: CompletedProcess | None
- set(option, value)
- unsat_core()
- write_smt(fp)
- write_tptp(filename, format='thf')
- x = x
- y = y
- z = z
- kdrag.solvers.binpath(cmd)
- kdrag.solvers.collect_decls(exprs) set[FuncDeclRef]
- Return type:
set[FuncDeclRef]
- kdrag.solvers.collect_sorts(exprs) set[SortRef]
- Return type:
set[SortRef]
- kdrag.solvers.download(url, filename, checksum) bool
- Return type:
bool
- kdrag.solvers.install_solvers()
- kdrag.solvers.install_solvers2()
- kdrag.solvers.run(cmd, args, **kwargs)
- kdrag.solvers.smt2tptp(smt_filename, outfile, format='tff')
- kdrag.solvers.tptp2smt(tptp_filename)
Modules
Knuth Bendix completion. |
|
Dyckhoff Intuitionistic Propositional Prover |
|