#!/bin/sh # -*- coding: utf-8 -*- # Copyright (C) by the Spot authors, see the AUTHORS file for details. # # This file is part of Spot, a model checking library. # # Spot is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # Spot is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public # License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . . ./defs set -e cat >input< b) & (b -> d) (a -> b) & Xc & (b -> d) GF((a | b) & (b | d)) {((a -> b) & (b -> d))*;a*}<>->((a | b) & (!b | !a)) EOF # Make sure --boolean-to-isop works as expected... run 0 ltlfilt --boolean-to-isop input > output cat> expected<-> ((!a & b) | (a & !b)) EOF cat output diff output expected # Make sure it would not give the same output without the option... run 0 ltlfilt input > output cat> expected< b) & (b -> d) (a -> b) & (b -> d) & Xc GF((a | b) & (b | d)) {{{a -> b} && {b -> d}}[*];a[*]}<>-> ((a | b) & (!a | !b)) EOF cat output diff output expected