com.thesett.aima.logic.fol.Variable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of logic Show documentation
Show all versions of logic Show documentation
Rich syntax trees and parsers for working with first order logic.
/*
* Copyright The Sett Ltd, 2005 to 2014.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.thesett.aima.logic.fol;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Variable represents a variable in first order logic. A variable has a name, and can either be free (unassigned) or be
* bound (assigned or unified against) the value of another term in the language. The pure terminology of the language
* does not cover variable assignments or substitutions, these are part of its operational semantics. Room is made
* available for subsitutions in this class because, as stated in the comments for {@link Term}, the purpose of these
* definitions is to provide a minimal semantic framework for evaluating first order logic as well as providing an
* abstract syntax tree for it.
*
*
CRC Card
* Responsibilities Responsibilities
* Associate a name with an optional substitution.
*
*
* @author Rupert Smith
*/
public class Variable extends BaseTerm implements Term, VariableBindingContext© 2015 - 2025 Weber Informatics LLC | Privacy Policy