Class: ADSL::FOL::Equal
Instance Method Summary collapse
-
#initialize(*subformulae) ⇒ Equal
constructor
A new instance of Equal.
- #resolve_spass ⇒ Object
Constructor Details
#initialize(*subformulae) ⇒ Equal
Returns a new instance of Equal.
138 139 140 141 |
# File 'lib/adsl/fol/first_order_logic.rb', line 138 def initialize(*subformulae) @subformulae = subformulae.flatten raise ArgumentError, "At least two subformulae required" if @subformulae.length < 2 end |
Instance Method Details
#resolve_spass ⇒ Object
143 144 145 146 147 148 149 150 |
# File 'lib/adsl/fol/first_order_logic.rb', line 143 def resolve_spass return @subformulae.first.resolve_spass if @subformulae.length == 1 combinations = [] (@subformulae.length-1).times do |index| combinations << "equal(#{@subformulae[index].resolve_spass}, #{@subformulae[index+1].resolve_spass})" end return And.new(combinations).resolve_spass end |