Simplify a rule set by removing redundant rules

remove_redundancy(x, ...)

Arguments

x

validator object with validation rules.

...

not used

Value

simplified validator object, in which redundant rules are removed.

Examples

rules <- validator( rule1 = x > 1
                  , rule2 = x > 2
                  )

# rule1 is superfluous
remove_redundancy(rules)
#> Object of class 'validator' with 1 elements:
#>  rule2: x > 2

# rule 1 is implied by rule 2
is_implied_by(rules, "rule1")
#> [1] "rule2"

rules <- validator( rule1 = x > 2
                  , rule2 = x > 2
)

# standout: rule1 and rule2, oldest rules wins
remove_redundancy(rules)
#> Object of class 'validator' with 1 elements:
#>  rule1: x > 2

# Note that detection signifies both rules!
detect_redundancy(rules)
#> rule1 rule2 
#>  TRUE  TRUE