fn declare_predicate(&mut self, p: P, domain: ConvolutedSort) -> Result<(), K, P> {
		let index = self.predicates.len() as u32;
		self.predicate_ids.insert(p.clone(), index);
		self.predicates.push(PredicateData {
			automaton: Automaton::new(),
			domain: domain
		});

		Ok(self.solver.declare_fun(Function::Predicate(p), &vec![self.const_sort.clone()], &self.solver.sort_bool())?)
	}
/// Declare a new predicate to learn.
Declare a new predicate to learn.
Declare a new predicate to learn .
fn declare_predicate(&mut self, p: P, domain: ConvolutedSort) -> Result<(), K, P> {
		let index = self.predicates.len() as u32;
		self.predicate_ids.insert(p.clone(), index);
		self.predicates.push(PredicateData {
			automaton: Automaton::new(),
			domain: domain
		});
		Ok(self.solver.declare_fun(Function::Predicate(p), &vec![self.const_sort.clone()], &self.solver.sort_bool())?)
	}
fn declare_predicate ( & mut self , p : P , domain : ConvolutedSort ) -> Result < ( ) , K , P > { let index = self . predicates . len ( ) as u32 ; self . predicate_ids . insert ( p . clone ( ) , index ) ; self . predicates . push ( PredicateData { automaton : Automaton :: new ( ) , domain : domain } ) ; Ok ( self . solver . declare_fun ( Function :: Predicate ( p ) , & vec ! [ self const_sort clone ( ) ] , & self . solver . sort_bool ( ) ) ? ) }
Declare a new predicate to learn.
Declare a new predicate to learn .
&mut self
p
P
domain
ConvolutedSort
&mut self
p
P
domain
ConvolutedSort