java union方法参数,Java Relation.union方法代碼示例

import kodkod.ast.Relation; //導入方法依賴的package包/類

public final void testBGP_03172011() {

Relation x5 = Relation.unary("s012");

Relation x8 = Relation.unary("zero");

Relation x9 = Relation.unary("one");

Relation x12 = Relation.nary("next", 2);

Universe universe = new Universe(Arrays.asList("0", "1", "2", "3"));

TupleFactory factory = universe.factory();

Bounds bounds = new Bounds(universe);

bounds.boundExactly(x5, factory.setOf("0", "1", "2"));

bounds.boundExactly(x8, factory.setOf("0"));

bounds.bound(x9, factory.setOf("1"), factory.setOf("1", "2"));

TupleSet x12_upper = factory.noneOf(2);

x12_upper.add(factory.tuple("1", "2"));

x12_upper.add(factory.tuple("2", "3"));

bounds.boundExactly(x12, x12_upper);

Variable x714 = Variable.unary("x714");

Decls x713 = x714.oneOf(x8.union(x9));

Variable x720 = Variable.unary("x720");

Expression x723 = x8.union(x9);

Expression x724 = x9.join(x12);

Expression x722 = x723.union(x724);

Expression x721 = x722.difference(x714);

Decls x719 = x720.oneOf(x721);

Variable x727 = Variable.unary("x727");

Expression x732 = x714.union(x720);

Expression x728 = x5.difference(x732);

Decls x726 = x727.oneOf(x728);

Variable x735 = Variable.unary("x735");

Decls x734 = x735.oneOf(x8);

Variable x893 = Variable.unary("x893");

Decls x892 = x893.oneOf(x727);

Formula x894 = x720.no();

Formula x891 = x894.forAll(x892);

Formula x712 = x891.forSome(x713.and(x719).and(x726).and(x734));

Formula x267 = Formula.FALSE.or(x712);

Solver solver = new Solver();

solver.options().setSolver(SATFactory.MiniSat);

solver.options().setBitwidth(4);

// solver.options().setFlatten(false);

solver.options().setIntEncoding(Options.IntEncoding.TWOSCOMPLEMENT);

solver.options().setSymmetryBreaking(20);

solver.options().setSkolemDepth(0);

final Solution sol = solver.solve(x267, bounds);

assertEquals(sol.outcome(), Solution.Outcome.TRIVIALLY_UNSATISFIABLE);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值