fn assert(&mut self, clause: crate::clause::Clause<GroundSort<Arc<Sort>>, F, P>) -> std::result::Result<(), Error> {
		debug!("add clause: {:?}", clause);

		let mut body = Vec::with_capacity(clause.body.len());
		for e in clause.body {
			body.push(self.compile_clause_expr(e));
		}

		let head = self.compile_clause_expr(clause.head);

		let compiled_clause = Clause {
			body: body,
			head: head
		};

		debug!("compiled clause: {:?}", compiled_clause);
		self.clauses.push(compiled_clause);

		Ok(())
	}
/// Add a new clause to the solver.
Add a new clause to the solver.
Add a new clause to the solver .
fn assert(&mut self, clause: crate::clause::Clause<GroundSort<Arc<Sort>>, F, P>) -> std::result::Result<(), Error> {
		debug!("add clause: {:?}", clause);
		let mut body = Vec::with_capacity(clause.body.len());
		for e in clause.body {
			body.push(self.compile_clause_expr(e));
		}
		let head = self.compile_clause_expr(clause.head);
		let compiled_clause = Clause {
			body: body,
			head: head
		};
		debug!("compiled clause: {:?}", compiled_clause);
		self.clauses.push(compiled_clause);
		Ok(())
	}
fn assert ( & mut self , clause : crate :: clause :: Clause < GroundSort < Arc < Sort > > , F , P > ) -> std :: result :: Result < ( ) , Error > { debug ! ( " " clause ) ; let mut body = Vec :: with_capacity ( clause . body . len ( ) ) ; for e in clause . body { body . push ( self . compile_clause_expr ( e ) ) ; } let head = self . compile_clause_expr ( clause . head ) ; let compiled_clause = Clause { body : body , head : head } ; debug ! ( " " compiled_clause ) ; self . clauses . push ( compiled_clause ) ; Ok ( ( ) ) }
Add a new clause to the solver.
Add a new clause to the solver .
&mut self
clause
crate::clause::Clause<GroundSort<Arc<Sort>>, F, P>
&mut self
clause
crate::clause::Clause<GroundSort<Arc<Sort>>, F, P>