/* FormulaTransl - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */
package alloy.transl;
import java.util.Arrays;
import java.util.List;

import alloy.bool.BooleanFormula;

public class FormulaTransl extends Transl
{
    public final BooleanFormula formula;
    static final FormulaTransl FALSE = new FormulaTransl(BooleanFormula.FALSE);
    static final FormulaTransl TRUE = new FormulaTransl(BooleanFormula.TRUE);
    
    public FormulaTransl(BooleanFormula booleanformula) {
	formula = booleanformula;
    }
    
    public List getBooleanFormulas() {
	return Arrays.asList(new Object[] { formula });
    }
    
    public FormulaTransl and(FormulaTransl formulatransl_0_) {
	return new FormulaTransl(formula.and(formulatransl_0_.formula));
    }
    
    public FormulaTransl or(FormulaTransl formulatransl_1_) {
	return new FormulaTransl(formula.or(formulatransl_1_.formula));
    }
    
    public FormulaTransl iff(FormulaTransl formulatransl_2_) {
	return new FormulaTransl(formula.iff(formulatransl_2_.formula));
    }
    
    public FormulaTransl not() {
	return new FormulaTransl(formula.not());
    }
    
    public FormulaTransl implies(FormulaTransl formulatransl_3_) {
	return new FormulaTransl(formula.implies(formulatransl_3_.formula));
    }
    
    public String interpret(boolean[] bools) {
	return formula.interpret(bools) ? "T" : "F";
    }
}
