#!/bin/sh
# -*- coding: utf-8 -*-
# Copyright (C) 2009, 2013 Laboratoire de Recherche et Développement
# de l'Epita (LRDE).
#
# 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 || exit 1
set -e
cat >prelude <<'EOF'
X=(
0 1 $0
accept 1
)
EOF
cat >input <<'EOF'
include prelude
A=(
0 1 $2
1 2 $0
accept 0
)
%
A(1,a,a|b)&X(!f)
EOF
run 0 ../acc input || exit 1
cat >input <<'EOF'
include prelude
A=(
0 1 $2
1 2 $0
accept 0
)
%
A(1,a)
EOF
run 1 ../acc input || exit 1
cat >input <<'EOF'
X=(
0 1 true
1 2 $0
accept 2
)
U=(
0 0 $0
0 1 $1
accept 1
)
F=U(true, $0)
R=!U(!$0, !$1)
%
a U b | a R b | F(true) | U(a,b) -> R(a,b)
EOF
run 0 ../acc input || exit 1
cat >input <<'EOF'
U=(
0 0 $0
0 1 $1
accept 1
)
T=U(true,true)
%
T()|1
EOF
run 1 ../acc input || exit 1
cat >input <