<?php
class match{
	var $substitutions;
	var $arg1;
	var $arg2;
	
	function match($arg1, $arg2){
		$this->arg1 = $arg1;
		$this->arg2 = $arg2;
		$this->substitutions = array();
	}
	
	function add_substitution($var, $instance){
		if(!isset($substitutions["$var"])){
			$this->substitutions["$var"] = $instance;
		}
	}
	
	function propogate_instantiations(){
		if(get_class($this->arg1) == "fact" && get_class($this->arg2) == "fact"){
			for($i = 0;	$i < sizeof($this->arg1->arguments); $i++){
				if(get_class($this->arg1->arguments[$i]) == "variable"){
					$this->arg1->arguments[$i]->instantiate($this->arg2->arguments[$i]);
				}
			}
		}
		
	}
	
}
?>