protected function assert($label, $clause) { $pc = new PrologCompiler($this); $prog = $pc->compileSimpleClause($clause . "."); if ($prog != null) { $this->p->addClause($label, $prog); $this->programCounter++; $v = new Variable("", $label); $v->tag = self::ASSERT; $this->trail->addEntry($v); } else { $this->backtrack(); } }