function remove_rules( $nt ){
		if( ! isset($this->ntindex) ){
			$this->rebuild_index();
		}
		// remove this non-terminal's rules
		if( isset($this->ntindex[$nt]) ){
			foreach( $this->ntindex[$nt] as $i ){
				$sig = self::rule_signature( $nt, $this->rules[$i][1] );
				unset( $this->rules[$i] ); 
				unset( $this->uindex[$sig] );
			}
		} 
		// remove non terminal
		unset ( 
			$this->nts[$nt],
			$this->ntindex[$nt]
		);
	}