package syguslib-utils

  1. Overview
  2. Docs

Module Syguslib.SemanticSource

This module defines a few high-level properties of SyGuS programs. Setter commands and some utility functions on solver responses are specified here.

Semantic identity of commands

Sourceval is_setter_command : Sygus.command -> bool

Returns true when the command is a setter command, that is, sets some option. logic, or feature for the solver.

Sourceval is_well_formed : Sygus.program -> bool

Returns true if the program is well-formed. A well-formed program has the form (set-logic ..)(setter-command ..)*(other-commands..)*

Sourceval declares : Sygus.command -> string list

Returns the list of symbols declared by a command, in no particular order

Sourceval compare_declares : Sygus.command -> Sygus.command -> int

Compare two commands by the symbols they declare.

Static definitions

Sourceval max_definition : Sygus.command

A static definition for the max operation.

Sourceval min_definition : Sygus.command

A static definition for the min operation.

Transformers

Sourceval rename : (string * string) list -> Sygus.sygus_term -> Sygus.sygus_term

A transformation function that renames all variables in a sygus term.

I/O functions

Sourceval write_command : out_channel -> Sygus.command -> unit

Writes a command to an output channel.

Wrapper modules for important types

Sourcemodule Command : sig ... end
Sourcemodule Term : sig ... end
Sourcemodule Ident : sig ... end
Sourcemodule Lit : sig ... end
Sourcemodule Sort : sig ... end
OCaml

Innovation. Community. Security.