import de.hhu.stups.btypes.BRelation;
import de.hhu.stups.btypes.BTuple;
import de.hhu.stups.btypes.BSet;
import de.hhu.stups.btypes.BObject;
import de.hhu.stups.btypes.BBoolean;
import java.util.Objects;
import java.util.Arrays;
import de.hhu.stups.btypes.BUtils;


public class LandingGear_R6 {

    public enum DOOR_STATE implements BObject {
        open,
        closed,
        door_moving;

        public BBoolean equal(DOOR_STATE o) {
            return new BBoolean(this == o);
        }

        public BBoolean unequal(DOOR_STATE o) {
            return new BBoolean(this != o);
        }
    }

    public enum GEAR_STATE implements BObject {
        retracted,
        extended,
        gear_moving;

        public BBoolean equal(GEAR_STATE o) {
            return new BBoolean(this == o);
        }

        public BBoolean unequal(GEAR_STATE o) {
            return new BBoolean(this != o);
        }
    }

    public enum HANDLE_STATE implements BObject {
        up,
        down;

        public BBoolean equal(HANDLE_STATE o) {
            return new BBoolean(this == o);
        }

        public BBoolean unequal(HANDLE_STATE o) {
            return new BBoolean(this != o);
        }
    }

    public enum POSITION implements BObject {
        fr,
        lt,
        rt;

        public BBoolean equal(POSITION o) {
            return new BBoolean(this == o);
        }

        public BBoolean unequal(POSITION o) {
            return new BBoolean(this != o);
        }
    }

    public enum SWITCH_STATE implements BObject {
        switch_open,
        switch_closed;

        public BBoolean equal(SWITCH_STATE o) {
            return new BBoolean(this == o);
        }

        public BBoolean unequal(SWITCH_STATE o) {
            return new BBoolean(this != o);
        }
    }

    public enum PLANE_STATE implements BObject {
        ground,
        flight;

        public BBoolean equal(PLANE_STATE o) {
            return new BBoolean(this == o);
        }

        public BBoolean unequal(PLANE_STATE o) {
            return new BBoolean(this != o);
        }
    }

    public enum VALVE_STATE implements BObject {
        valve_open,
        valve_closed;

        public BBoolean equal(VALVE_STATE o) {
            return new BBoolean(this == o);
        }

        public BBoolean unequal(VALVE_STATE o) {
            return new BBoolean(this != o);
        }
    }

    private static BSet<DOOR_STATE> _DOOR_STATE = new BSet<DOOR_STATE>(DOOR_STATE.open, DOOR_STATE.closed, DOOR_STATE.door_moving);
    private static BSet<GEAR_STATE> _GEAR_STATE = new BSet<GEAR_STATE>(GEAR_STATE.retracted, GEAR_STATE.extended, GEAR_STATE.gear_moving);
    private static BSet<HANDLE_STATE> _HANDLE_STATE = new BSet<HANDLE_STATE>(HANDLE_STATE.up, HANDLE_STATE.down);
    private static BSet<POSITION> _POSITION = new BSet<POSITION>(POSITION.fr, POSITION.lt, POSITION.rt);
    private static BSet<SWITCH_STATE> _SWITCH_STATE = new BSet<SWITCH_STATE>(SWITCH_STATE.switch_open, SWITCH_STATE.switch_closed);
    private static BSet<PLANE_STATE> _PLANE_STATE = new BSet<PLANE_STATE>(PLANE_STATE.ground, PLANE_STATE.flight);
    private static BSet<VALVE_STATE> _VALVE_STATE = new BSet<VALVE_STATE>(VALVE_STATE.valve_open, VALVE_STATE.valve_closed);

    private SWITCH_STATE analogical_switch;
    private BBoolean general_EV;
    private VALVE_STATE general_valve;
    private BBoolean handle_move;
    private BBoolean close_EV;
    private BBoolean extend_EV;
    private BBoolean open_EV;
    private BBoolean retract_EV;
    private PLANE_STATE shock_absorber;
    private VALVE_STATE valve_close_door;
    private VALVE_STATE valve_extend_gear;
    private VALVE_STATE valve_open_door;
    private VALVE_STATE valve_retract_gear;
    private BRelation<POSITION, DOOR_STATE> doors;
    private BRelation<POSITION, GEAR_STATE> gears;
    private HANDLE_STATE handle;
    private DOOR_STATE door;
    private GEAR_STATE gear;

    public LandingGear_R6() {
        gears = BRelation.cartesianProduct(_POSITION, new BSet<GEAR_STATE>(GEAR_STATE.extended));
        doors = BRelation.cartesianProduct(_POSITION, new BSet<DOOR_STATE>(DOOR_STATE.closed));
        handle = HANDLE_STATE.down;
        valve_extend_gear = VALVE_STATE.valve_closed;
        valve_retract_gear = VALVE_STATE.valve_closed;
        valve_open_door = VALVE_STATE.valve_closed;
        valve_close_door = VALVE_STATE.valve_closed;
        open_EV = new BBoolean(false);
        close_EV = new BBoolean(false);
        retract_EV = new BBoolean(false);
        extend_EV = new BBoolean(false);
        shock_absorber = PLANE_STATE.ground;
        general_EV = new BBoolean(false);
        general_valve = VALVE_STATE.valve_closed;
        analogical_switch = SWITCH_STATE.switch_open;
        handle_move = new BBoolean(false);
        gear = GEAR_STATE.extended;
        door = DOOR_STATE.closed;
    }

    public LandingGear_R6(SWITCH_STATE analogical_switch, BBoolean general_EV, VALVE_STATE general_valve, BBoolean handle_move, BBoolean close_EV, BBoolean extend_EV, BBoolean open_EV, BBoolean retract_EV, PLANE_STATE shock_absorber, VALVE_STATE valve_close_door, VALVE_STATE valve_extend_gear, VALVE_STATE valve_open_door, VALVE_STATE valve_retract_gear, BRelation<POSITION, DOOR_STATE> doors, BRelation<POSITION, GEAR_STATE> gears, HANDLE_STATE handle, DOOR_STATE door, GEAR_STATE gear) {
        this.analogical_switch = analogical_switch;
        this.general_EV = general_EV;
        this.general_valve = general_valve;
        this.handle_move = handle_move;
        this.close_EV = close_EV;
        this.extend_EV = extend_EV;
        this.open_EV = open_EV;
        this.retract_EV = retract_EV;
        this.shock_absorber = shock_absorber;
        this.valve_close_door = valve_close_door;
        this.valve_extend_gear = valve_extend_gear;
        this.valve_open_door = valve_open_door;
        this.valve_retract_gear = valve_retract_gear;
        this.doors = doors;
        this.gears = gears;
        this.handle = handle;
        this.door = door;
        this.gear = gear;
    }

    public void begin_flying() {
        shock_absorber = PLANE_STATE.flight;

    }

    public void land_plane() {
        shock_absorber = PLANE_STATE.ground;

    }

    public void open_valve_door_open() {
        valve_open_door = VALVE_STATE.valve_open;

    }

    public void close_valve_door_open() {
        valve_open_door = VALVE_STATE.valve_closed;

    }

    public void open_valve_door_close() {
        valve_close_door = VALVE_STATE.valve_open;

    }

    public void close_valve_door_close() {
        valve_close_door = VALVE_STATE.valve_closed;

    }

    public void open_valve_retract_gear() {
        valve_retract_gear = VALVE_STATE.valve_open;

    }

    public void close_valve_retract_gear() {
        valve_retract_gear = VALVE_STATE.valve_closed;

    }

    public void open_valve_extend_gear() {
        valve_extend_gear = VALVE_STATE.valve_open;

    }

    public void close_valve_extend_gear() {
        valve_extend_gear = VALVE_STATE.valve_closed;

    }

    public void con_stimulate_open_door_valve() {
        open_EV = new BBoolean(true);

    }

    public void con_stop_stimulate_open_door_valve() {
        open_EV = new BBoolean(false);

    }

    public void con_stimulate_close_door_valve() {
        close_EV = new BBoolean(true);

    }

    public void con_stop_stimulate_close_door_valve() {
        close_EV = new BBoolean(false);

    }

    public void con_stimulate_retract_gear_valve() {
        retract_EV = new BBoolean(true);

    }

    public void con_stop_stimulate_retract_gear_valve() {
        retract_EV = new BBoolean(false);

    }

    public void con_stimulate_extend_gear_valve() {
        extend_EV = new BBoolean(true);

    }

    public void con_stop_stimulate_extend_gear_valve() {
        extend_EV = new BBoolean(false);

    }

    public void env_start_retracting_first(POSITION gr) {
        BRelation<POSITION, GEAR_STATE> _ld_gears = gears;
        gears = _ld_gears.override(new BRelation<POSITION, GEAR_STATE>(new BTuple<>(gr, GEAR_STATE.gear_moving)));
        gear = GEAR_STATE.gear_moving;

    }

    public void env_retract_gear_skip(POSITION gr) {
        gears = gears.override(new BRelation<POSITION, GEAR_STATE>(new BTuple<>(gr, GEAR_STATE.retracted)));

    }

    public void env_retract_gear_last(POSITION gr) {
        BRelation<POSITION, GEAR_STATE> _ld_gears = gears;
        gears = _ld_gears.override(new BRelation<POSITION, GEAR_STATE>(new BTuple<>(gr, GEAR_STATE.retracted)));
        gear = GEAR_STATE.retracted;

    }

    public void env_start_extending(POSITION gr) {
        BRelation<POSITION, GEAR_STATE> _ld_gears = gears;
        gears = _ld_gears.override(new BRelation<POSITION, GEAR_STATE>(new BTuple<>(gr, GEAR_STATE.gear_moving)));
        gear = GEAR_STATE.gear_moving;

    }

    public void env_extend_gear_last(POSITION gr) {
        BRelation<POSITION, GEAR_STATE> _ld_gears = gears;
        gears = _ld_gears.override(new BRelation<POSITION, GEAR_STATE>(new BTuple<>(gr, GEAR_STATE.extended)));
        gear = GEAR_STATE.extended;

    }

    public void env_extend_gear_skip(POSITION gr) {
        gears = gears.override(new BRelation<POSITION, GEAR_STATE>(new BTuple<>(gr, GEAR_STATE.extended)));

    }

    public void env_start_open_door(POSITION gr) {
        BRelation<POSITION, DOOR_STATE> _ld_doors = doors;
        doors = _ld_doors.override(new BRelation<POSITION, DOOR_STATE>(new BTuple<>(gr, DOOR_STATE.door_moving)));
        door = DOOR_STATE.door_moving;

    }

    public void env_open_door_last(POSITION gr) {
        BRelation<POSITION, DOOR_STATE> _ld_doors = doors;
        doors = _ld_doors.override(new BRelation<POSITION, DOOR_STATE>(new BTuple<>(gr, DOOR_STATE.open)));
        door = DOOR_STATE.open;

    }

    public void env_open_door_skip(POSITION gr) {
        doors = doors.override(new BRelation<POSITION, DOOR_STATE>(new BTuple<>(gr, DOOR_STATE.open)));

    }

    public void env_start_close_door(POSITION gr) {
        BRelation<POSITION, DOOR_STATE> _ld_doors = doors;
        doors = _ld_doors.override(new BRelation<POSITION, DOOR_STATE>(new BTuple<>(gr, DOOR_STATE.door_moving)));
        door = DOOR_STATE.door_moving;

    }

    public void env_close_door(POSITION gr) {
        BRelation<POSITION, DOOR_STATE> _ld_doors = doors;
        doors = _ld_doors.override(new BRelation<POSITION, DOOR_STATE>(new BTuple<>(gr, DOOR_STATE.closed)));
        door = DOOR_STATE.closed;

    }

    public void env_close_door_skip(POSITION gr) {
        doors = doors.override(new BRelation<POSITION, DOOR_STATE>(new BTuple<>(gr, DOOR_STATE.closed)));

    }

    public void toggle_handle_up() {
        handle = HANDLE_STATE.up;
        handle_move = new BBoolean(true);

    }

    public void toggle_handle_down() {
        handle = HANDLE_STATE.down;
        handle_move = new BBoolean(true);

    }

    public void con_stimulate_general_valve() {
        general_EV = new BBoolean(true);

    }

    public void con_stop_stimulate_general_valve() {
        general_EV = new BBoolean(false);
        handle_move = new BBoolean(false);

    }

    public void evn_open_general_valve() {
        general_valve = VALVE_STATE.valve_open;

    }

    public void evn_close_general_valve() {
        general_valve = VALVE_STATE.valve_closed;

    }

    public void env_close_analogical_switch() {
        analogical_switch = SWITCH_STATE.switch_closed;

    }

    public void env_open_analogical_switch() {
        analogical_switch = SWITCH_STATE.switch_open;

    }

    public SWITCH_STATE _get_analogical_switch() {
        return analogical_switch;
    }

    public BBoolean _get_general_EV() {
        return general_EV;
    }

    public VALVE_STATE _get_general_valve() {
        return general_valve;
    }

    public BBoolean _get_handle_move() {
        return handle_move;
    }

    public BBoolean _get_close_EV() {
        return close_EV;
    }

    public BBoolean _get_extend_EV() {
        return extend_EV;
    }

    public BBoolean _get_open_EV() {
        return open_EV;
    }

    public BBoolean _get_retract_EV() {
        return retract_EV;
    }

    public PLANE_STATE _get_shock_absorber() {
        return shock_absorber;
    }

    public VALVE_STATE _get_valve_close_door() {
        return valve_close_door;
    }

    public VALVE_STATE _get_valve_extend_gear() {
        return valve_extend_gear;
    }

    public VALVE_STATE _get_valve_open_door() {
        return valve_open_door;
    }

    public VALVE_STATE _get_valve_retract_gear() {
        return valve_retract_gear;
    }

    public BRelation<POSITION, DOOR_STATE> _get_doors() {
        return doors;
    }

    public BRelation<POSITION, GEAR_STATE> _get_gears() {
        return gears;
    }

    public HANDLE_STATE _get_handle() {
        return handle;
    }

    public DOOR_STATE _get_door() {
        return door;
    }

    public GEAR_STATE _get_gear() {
        return gear;
    }

    public BSet<DOOR_STATE> _get__DOOR_STATE() {
        return _DOOR_STATE;
    }

    public BSet<GEAR_STATE> _get__GEAR_STATE() {
        return _GEAR_STATE;
    }

    public BSet<HANDLE_STATE> _get__HANDLE_STATE() {
        return _HANDLE_STATE;
    }

    public BSet<POSITION> _get__POSITION() {
        return _POSITION;
    }

    public BSet<SWITCH_STATE> _get__SWITCH_STATE() {
        return _SWITCH_STATE;
    }

    public BSet<PLANE_STATE> _get__PLANE_STATE() {
        return _PLANE_STATE;
    }

    public BSet<VALVE_STATE> _get__VALVE_STATE() {
        return _VALVE_STATE;
    }


    public boolean _tr_begin_flying() {
        return shock_absorber.equal(PLANE_STATE.ground).booleanValue();
    }

    public boolean _tr_land_plane() {
        return shock_absorber.equal(PLANE_STATE.flight).booleanValue();
    }

    public boolean _tr_open_valve_door_open() {
        return new BBoolean(valve_open_door.equal(VALVE_STATE.valve_closed).booleanValue() && open_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_close_valve_door_open() {
        return new BBoolean(valve_open_door.equal(VALVE_STATE.valve_open).booleanValue() && open_EV.equal(new BBoolean(false)).booleanValue()).booleanValue();
    }

    public boolean _tr_open_valve_door_close() {
        return new BBoolean(valve_close_door.equal(VALVE_STATE.valve_closed).booleanValue() && close_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_close_valve_door_close() {
        return new BBoolean(valve_close_door.equal(VALVE_STATE.valve_open).booleanValue() && close_EV.equal(new BBoolean(false)).booleanValue()).booleanValue();
    }

    public boolean _tr_open_valve_retract_gear() {
        return new BBoolean(valve_retract_gear.equal(VALVE_STATE.valve_closed).booleanValue() && retract_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_close_valve_retract_gear() {
        return new BBoolean(valve_retract_gear.equal(VALVE_STATE.valve_open).booleanValue() && retract_EV.equal(new BBoolean(false)).booleanValue()).booleanValue();
    }

    public boolean _tr_open_valve_extend_gear() {
        return new BBoolean(valve_extend_gear.equal(VALVE_STATE.valve_closed).booleanValue() && extend_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_close_valve_extend_gear() {
        return new BBoolean(valve_extend_gear.equal(VALVE_STATE.valve_open).booleanValue() && extend_EV.equal(new BBoolean(false)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stimulate_open_door_valve() {
        return new BBoolean(new BBoolean(new BBoolean(open_EV.equal(new BBoolean(false)).booleanValue() && close_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).not().booleanValue()).booleanValue() || new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).not().booleanValue()).booleanValue() && new BBoolean(doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() && shock_absorber.equal(PLANE_STATE.ground).booleanValue()).not().booleanValue()).booleanValue()).booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stop_stimulate_open_door_valve() {
        return new BBoolean(new BBoolean(new BBoolean(new BBoolean(open_EV.equal(new BBoolean(true)).booleanValue() && extend_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && retract_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() || new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BBoolean(gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue() || shock_absorber.equal(PLANE_STATE.ground).booleanValue()).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stimulate_close_door_valve() {
        return new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(close_EV.equal(new BBoolean(false)).booleanValue() && open_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && extend_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && retract_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BBoolean(gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue() || shock_absorber.equal(PLANE_STATE.ground).booleanValue()).booleanValue()).booleanValue()).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).not().booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stop_stimulate_close_door_valve() {
        return new BBoolean(new BBoolean(close_EV.equal(new BBoolean(true)).booleanValue() && new BBoolean(new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()).booleanValue() || new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BBoolean(gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue() || shock_absorber.equal(PLANE_STATE.ground).booleanValue()).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stimulate_retract_gear_valve() {
        return new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(retract_EV.equal(new BBoolean(false)).booleanValue() && extend_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && open_EV.equal(new BBoolean(true)).booleanValue()).booleanValue() && handle.equal(HANDLE_STATE.up).booleanValue()).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).not().booleanValue()).booleanValue() && shock_absorber.equal(PLANE_STATE.flight).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stop_stimulate_retract_gear_valve() {
        return new BBoolean(new BBoolean(retract_EV.equal(new BBoolean(true)).booleanValue() && new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() || gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()).booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stimulate_extend_gear_valve() {
        return new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(extend_EV.equal(new BBoolean(false)).booleanValue() && retract_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && open_EV.equal(new BBoolean(true)).booleanValue()).booleanValue() && handle.equal(HANDLE_STATE.down).booleanValue()).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).not().booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stop_stimulate_extend_gear_valve() {
        return new BBoolean(new BBoolean(extend_EV.equal(new BBoolean(true)).booleanValue() && new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() || gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue() && general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public BSet<POSITION> _tr_env_start_retracting_first() {
        BSet<POSITION> _ic_set_18 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() && handle.equal(HANDLE_STATE.up).booleanValue()).booleanValue() && gears.functionCall(_ic_gr_1).equal(GEAR_STATE.extended).booleanValue()).booleanValue() && valve_retract_gear.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && new BSet<GEAR_STATE>(GEAR_STATE.extended, GEAR_STATE.gear_moving).elementOf(gear).booleanValue()).booleanValue() && door.equal(DOOR_STATE.open).booleanValue())).booleanValue()) {
                _ic_set_18 = _ic_set_18.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_18;
    }

    public BSet<POSITION> _tr_env_retract_gear_skip() {
        BSet<POSITION> _ic_set_19 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() && gears.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).unequal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()).booleanValue() && handle.equal(HANDLE_STATE.up).booleanValue()).booleanValue() && gears.functionCall(_ic_gr_1).equal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue())).booleanValue()) {
                _ic_set_19 = _ic_set_19.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_19;
    }

    public BSet<POSITION> _tr_env_retract_gear_last() {
        BSet<POSITION> _ic_set_20 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() && gears.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()).booleanValue() && handle.equal(HANDLE_STATE.up).booleanValue()).booleanValue() && gears.functionCall(_ic_gr_1).equal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && gear.equal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && door.equal(DOOR_STATE.open).booleanValue())).booleanValue()) {
                _ic_set_20 = _ic_set_20.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_20;
    }

    public BSet<POSITION> _tr_env_start_extending() {
        BSet<POSITION> _ic_set_21 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() && handle.equal(HANDLE_STATE.down).booleanValue()).booleanValue() && gears.functionCall(_ic_gr_1).equal(GEAR_STATE.retracted).booleanValue()).booleanValue() && valve_extend_gear.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && new BSet<GEAR_STATE>(GEAR_STATE.gear_moving, GEAR_STATE.retracted).elementOf(gear).booleanValue()).booleanValue() && door.equal(DOOR_STATE.open).booleanValue())).booleanValue()) {
                _ic_set_21 = _ic_set_21.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_21;
    }

    public BSet<POSITION> _tr_env_extend_gear_last() {
        BSet<POSITION> _ic_set_22 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() && handle.equal(HANDLE_STATE.down).booleanValue()).booleanValue() && gears.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() && gears.functionCall(_ic_gr_1).equal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && gear.equal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && door.equal(DOOR_STATE.open).booleanValue())).booleanValue()) {
                _ic_set_22 = _ic_set_22.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_22;
    }

    public BSet<POSITION> _tr_env_extend_gear_skip() {
        BSet<POSITION> _ic_set_23 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() && handle.equal(HANDLE_STATE.down).booleanValue()).booleanValue() && gears.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).unequal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() && gears.functionCall(_ic_gr_1).equal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue())).booleanValue()) {
                _ic_set_23 = _ic_set_23.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_23;
    }

    public BSet<POSITION> _tr_env_start_open_door() {
        BSet<POSITION> _ic_set_24 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.functionCall(_ic_gr_1).equal(DOOR_STATE.closed).booleanValue() && gears.functionCall(_ic_gr_1).unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && gears.range().notElementOf(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && valve_open_door.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && new BSet<DOOR_STATE>(DOOR_STATE.closed, DOOR_STATE.door_moving).elementOf(door).booleanValue()).booleanValue() && gear.unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gear.equal(GEAR_STATE.retracted).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gear.equal(GEAR_STATE.extended).booleanValue()).booleanValue()).booleanValue())).booleanValue()) {
                _ic_set_24 = _ic_set_24.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_24;
    }

    public BSet<POSITION> _tr_env_open_door_last() {
        BSet<POSITION> _ic_set_25 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.functionCall(_ic_gr_1).equal(DOOR_STATE.door_moving).booleanValue() && gears.functionCall(_ic_gr_1).unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && gears.range().notElementOf(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && doors.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && valve_open_door.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && door.equal(DOOR_STATE.door_moving).booleanValue()).booleanValue() && gear.unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gear.equal(GEAR_STATE.retracted).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gear.equal(GEAR_STATE.extended).booleanValue()).booleanValue()).booleanValue())).booleanValue()) {
                _ic_set_25 = _ic_set_25.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_25;
    }

    public BSet<POSITION> _tr_env_open_door_skip() {
        BSet<POSITION> _ic_set_26 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.functionCall(_ic_gr_1).equal(DOOR_STATE.door_moving).booleanValue() && gears.functionCall(_ic_gr_1).unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && gears.range().notElementOf(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && doors.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).unequal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && valve_open_door.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue())).booleanValue()) {
                _ic_set_26 = _ic_set_26.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_26;
    }

    public BSet<POSITION> _tr_env_start_close_door() {
        BSet<POSITION> _ic_set_27 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.functionCall(_ic_gr_1).equal(DOOR_STATE.open).booleanValue() && gears.functionCall(_ic_gr_1).unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BBoolean(gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue() || gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && valve_close_door.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && new BSet<DOOR_STATE>(DOOR_STATE.door_moving, DOOR_STATE.open).elementOf(door).booleanValue()).booleanValue() && gear.unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gear.equal(GEAR_STATE.extended).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BSet<GEAR_STATE>(GEAR_STATE.extended, GEAR_STATE.retracted).elementOf(gear).booleanValue()).booleanValue()).booleanValue())).booleanValue()) {
                _ic_set_27 = _ic_set_27.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_27;
    }

    public BSet<POSITION> _tr_env_close_door() {
        BSet<POSITION> _ic_set_28 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.functionCall(_ic_gr_1).equal(DOOR_STATE.door_moving).booleanValue() && gears.functionCall(_ic_gr_1).unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && gears.range().notElementOf(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && doors.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BBoolean(gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue() || gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && valve_close_door.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && new BBoolean(!new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() || shock_absorber.equal(PLANE_STATE.ground).booleanValue()).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && door.equal(DOOR_STATE.door_moving).booleanValue()).booleanValue() && gear.unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gear.equal(GEAR_STATE.extended).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BSet<GEAR_STATE>(GEAR_STATE.extended, GEAR_STATE.retracted).elementOf(gear).booleanValue()).booleanValue()).booleanValue())).booleanValue()) {
                _ic_set_28 = _ic_set_28.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_28;
    }

    public BSet<POSITION> _tr_env_close_door_skip() {
        BSet<POSITION> _ic_set_29 = new BSet<POSITION>();
        for(POSITION _ic_gr_1 : gears.domain()) {
            if((new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(doors.functionCall(_ic_gr_1).equal(DOOR_STATE.door_moving).booleanValue() && gears.functionCall(_ic_gr_1).unequal(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && gears.range().notElementOf(GEAR_STATE.gear_moving).booleanValue()).booleanValue() && doors.relationImage(_POSITION.difference(new BSet<POSITION>(_ic_gr_1))).unequal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && new BBoolean(gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue() || gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue() || new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue()).booleanValue()).booleanValue() && valve_close_door.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue() && new BBoolean(!new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() || shock_absorber.equal(PLANE_STATE.ground).booleanValue()).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue())).booleanValue()) {
                _ic_set_29 = _ic_set_29.union(new BSet<POSITION>(_ic_gr_1));
            }

        }
        return _ic_set_29;
    }

    public boolean _tr_toggle_handle_up() {
        return handle.equal(HANDLE_STATE.down).booleanValue();
    }

    public boolean _tr_toggle_handle_down() {
        return handle.equal(HANDLE_STATE.up).booleanValue();
    }

    public boolean _tr_con_stimulate_general_valve() {
        return new BBoolean(general_EV.equal(new BBoolean(false)).booleanValue() && handle_move.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_con_stop_stimulate_general_valve() {
        return new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(general_EV.equal(new BBoolean(true)).booleanValue() && open_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && close_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && retract_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && extend_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && close_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() && new BBoolean(new BBoolean(new BBoolean(new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()).booleanValue() && open_EV.equal(new BBoolean(false)).booleanValue()).booleanValue() || new BBoolean(new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.down).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()).booleanValue() && open_EV.equal(new BBoolean(false)).booleanValue()).booleanValue()).booleanValue() || new BBoolean(new BBoolean(new BBoolean(handle.equal(HANDLE_STATE.up).booleanValue() && gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()).booleanValue() && doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()).booleanValue() && open_EV.equal(new BBoolean(false)).booleanValue()).booleanValue()).booleanValue()).booleanValue();
    }

    public boolean _tr_evn_open_general_valve() {
        return new BBoolean(new BBoolean(general_EV.equal(new BBoolean(true)).booleanValue() && general_valve.equal(VALVE_STATE.valve_closed).booleanValue()).booleanValue() && analogical_switch.equal(SWITCH_STATE.switch_closed).booleanValue()).booleanValue();
    }

    public boolean _tr_evn_close_general_valve() {
        return new BBoolean(new BBoolean(general_EV.equal(new BBoolean(false)).booleanValue() || analogical_switch.equal(SWITCH_STATE.switch_open).booleanValue()).booleanValue() && general_valve.equal(VALVE_STATE.valve_open).booleanValue()).booleanValue();
    }

    public boolean _tr_env_close_analogical_switch() {
        return new BBoolean(analogical_switch.equal(SWITCH_STATE.switch_open).booleanValue() && handle_move.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _tr_env_open_analogical_switch() {
        return analogical_switch.equal(SWITCH_STATE.switch_closed).booleanValue();
    }

    public boolean _check_inv_1() {
        return _SWITCH_STATE.elementOf(analogical_switch).booleanValue();
    }

    public boolean _check_inv_2() {
        return BUtils.BOOL.elementOf(general_EV).booleanValue();
    }

    public boolean _check_inv_3() {
        return _VALVE_STATE.elementOf(general_valve).booleanValue();
    }

    public boolean _check_inv_4() {
        return BUtils.BOOL.elementOf(handle_move).booleanValue();
    }

    public boolean _check_inv_5() {
        return BUtils.BOOL.elementOf(close_EV).booleanValue();
    }

    public boolean _check_inv_6() {
        return BUtils.BOOL.elementOf(extend_EV).booleanValue();
    }

    public boolean _check_inv_7() {
        return BUtils.BOOL.elementOf(open_EV).booleanValue();
    }

    public boolean _check_inv_8() {
        return BUtils.BOOL.elementOf(retract_EV).booleanValue();
    }

    public boolean _check_inv_9() {
        return _PLANE_STATE.elementOf(shock_absorber).booleanValue();
    }

    public boolean _check_inv_10() {
        return _VALVE_STATE.elementOf(valve_close_door).booleanValue();
    }

    public boolean _check_inv_11() {
        return _VALVE_STATE.elementOf(valve_extend_gear).booleanValue();
    }

    public boolean _check_inv_12() {
        return _VALVE_STATE.elementOf(valve_open_door).booleanValue();
    }

    public boolean _check_inv_13() {
        return _VALVE_STATE.elementOf(valve_retract_gear).booleanValue();
    }

    public boolean _check_inv_14() {
        return _HANDLE_STATE.elementOf(handle).booleanValue();
    }

    public boolean _check_inv_15() {
        return _DOOR_STATE.elementOf(door).booleanValue();
    }

    public boolean _check_inv_16() {
        return _GEAR_STATE.elementOf(gear).booleanValue();
    }

    public boolean _check_inv_17() {
        return new BBoolean(!new BBoolean(new BBoolean(new BBoolean(open_EV.equal(new BBoolean(true)).booleanValue() || close_EV.equal(new BBoolean(true)).booleanValue()).booleanValue() || retract_EV.equal(new BBoolean(true)).booleanValue()).booleanValue() || extend_EV.equal(new BBoolean(true)).booleanValue()).booleanValue() || general_EV.equal(new BBoolean(true)).booleanValue()).booleanValue();
    }

    public boolean _check_inv_18() {
        return new BBoolean(open_EV.equal(new BBoolean(true)).booleanValue() && close_EV.equal(new BBoolean(true)).booleanValue()).not().booleanValue();
    }

    public boolean _check_inv_19() {
        return gears.checkDomain(_POSITION).and(gears.checkRange(_GEAR_STATE)).and(gears.isFunction()).and(gears.isTotal(_POSITION)).booleanValue();
    }

    public boolean _check_inv_20() {
        return doors.checkDomain(_POSITION).and(doors.checkRange(_DOOR_STATE)).and(doors.isFunction()).and(doors.isTotal(_POSITION)).booleanValue();
    }

    public boolean _check_inv_21() {
        return new BBoolean((!door.equal(DOOR_STATE.closed).booleanValue() || doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue()) && (!doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.closed)).booleanValue() || door.equal(DOOR_STATE.closed).booleanValue())).booleanValue();
    }

    public boolean _check_inv_22() {
        return new BBoolean((!door.equal(DOOR_STATE.open).booleanValue() || doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue()) && (!doors.range().equal(new BSet<DOOR_STATE>(DOOR_STATE.open)).booleanValue() || door.equal(DOOR_STATE.open).booleanValue())).booleanValue();
    }

    public boolean _check_inv_23() {
        return new BBoolean((!gear.equal(GEAR_STATE.extended).booleanValue() || gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue()) && (!gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.extended)).booleanValue() || gear.equal(GEAR_STATE.extended).booleanValue())).booleanValue();
    }

    public boolean _check_inv_24() {
        return new BBoolean((!gear.equal(GEAR_STATE.retracted).booleanValue() || gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue()) && (!gears.range().equal(new BSet<GEAR_STATE>(GEAR_STATE.retracted)).booleanValue() || gear.equal(GEAR_STATE.retracted).booleanValue())).booleanValue();
    }

    public boolean _check_inv_25() {
        return new BBoolean(!gear.equal(GEAR_STATE.gear_moving).booleanValue() || door.equal(DOOR_STATE.open).booleanValue()).booleanValue();
    }

    public boolean _check_inv() {
        return !(!this._check_inv_1() || !this._check_inv_2() || !this._check_inv_3() || !this._check_inv_4() || !this._check_inv_5() || !this._check_inv_6() || !this._check_inv_7() || !this._check_inv_8() || !this._check_inv_9() || !this._check_inv_10() || !this._check_inv_11() || !this._check_inv_12() || !this._check_inv_13() || !this._check_inv_14() || !this._check_inv_15() || !this._check_inv_16() || !this._check_inv_17() || !this._check_inv_18() || !this._check_inv_19() || !this._check_inv_20() || !this._check_inv_21() || !this._check_inv_22() || !this._check_inv_23() || !this._check_inv_24() || !this._check_inv_25());
    }

    public boolean _check_handle_up() {
        return handle.equal(HANDLE_STATE.up).booleanValue();
    }

    public boolean _check_gear_retracted_door_closed() {
        return gear.equal(GEAR_STATE.retracted).booleanValue() && door.equal(DOOR_STATE.closed).booleanValue();
    }

    public boolean _check_shock_absorber_flight() {
        return shock_absorber.equal(PLANE_STATE.flight).booleanValue();
    }

    public LandingGear_R6 _copy() {
        return new LandingGear_R6(analogical_switch, general_EV, general_valve, handle_move, close_EV, extend_EV, open_EV, retract_EV, shock_absorber, valve_close_door, valve_extend_gear, valve_open_door, valve_retract_gear, doors, gears, handle, door, gear);
    }


}