formula: new trivial simplifications
Add the following rules: - f|[+] = [+] if f rejects [*0] - f|[*] = [*] if f accepts [*0] - f&&[+] = f if f rejects [*0] - b:b[*i..j] = b[*max(i,1)..j] - b[*i..j]:b[*k..l] = b[*max(i,1)+max(k,1)-1,1), j+l-1] * spot/tl/formula.cc: Implement the new rules. * doc/tl/tl.tex: Document them. * tests/core/equals.test: Test them. * NEWS: Add them
This commit is contained in:
parent
8ed9e3381f
commit
720c380412
4 changed files with 147 additions and 14 deletions
|
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (C) 2009-2012, 2014-2015, 2021 Laboratoire de Recherche et
|
||||
# Copyright (C) 2009-2012, 2014-2015, 2021, 2022 Laboratoire de Recherche et
|
||||
# Développement de l'Epita (LRDE).
|
||||
# Copyright (C) 2003, 2004 Laboratoire d'Informatique de Paris 6 (LIP6),
|
||||
# département Systèmes Répartis Coopératifs (SRC), Université Pierre
|
||||
|
|
@ -196,6 +196,12 @@ G({1}<>->1), 1
|
|||
{(a*;b|c)[:*0]}, 1
|
||||
{(a*;b|c)[:*1]}, {(a*;b|c)}
|
||||
{(a;b):(a;b):(a;b)[:*2]:(a;b):b*:b*:(c;d)[:*1]}, {(a;b)[:*5]:b*[:*2]:(c;d)}
|
||||
{((a;b)|[+]|(c;d[*]));a}, {[+];a}
|
||||
{((a;b)|[+]|(d[*]));a}, {[*];a}
|
||||
{((a;b)&&[+]&&(d[*]));a}, {((a;b)&&(d[*]));a}
|
||||
{((a;b|[*0])&&[+]&&(d[*]));a}, {((a;b|[*0])&&[+]&&(d[*]));a}
|
||||
{(a;c):b[*3..5]:b[*10]:(a;c)}, {(a;c):b[*12..14]:(a;c)}
|
||||
{(a;c):b:b[*3..5]:b:b[*0..4]:(a;c)}, {(a;c):b[*3..8]:(a;c)}
|
||||
EOF
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue