Logic/Concepts.h: Add combinational logic expr classes

This commit is contained in:
2025-09-02 13:04:54 -04:00
parent 6362298016
commit d36d03dcc3
2 changed files with 106 additions and 2 deletions
+41 -2
View File
@@ -1,11 +1,50 @@
#ifndef _CONCEPT_H
#define _CONCEPT_H
#include <vector>
#include <memory>
#include <logic.h>
#include <mentalEntity.h>
class Concept
: public MentalEntity
namespace smo {
namespace concepts {
class Comparator
: public MentalEntity, public logic::Operand
{
public:
/** EXPLANATION:
* The reference for a Comparator is the fixed mentity or range of mentities
* that this comparator is intended to validate a match against.
*
* There are several mentities against which a comparator can match. At the
* time of writing, we're fairly sure that these will be at minimum,
* qualia, chronomena and mentena.
*/
std::shared_ptr<MentalEntity> reference;
};
class ComparatorExpression
: public logic::UnaryExpression
{
public:
ComparatorExpression(
logic::Operator &op, std::shared_ptr<Comparator> &comparator
)
: logic::UnaryExpression(op, comparator)
{}
};
class CombinatorialLogicExpression
: public MentalEntity, public logic::Expression
{
public:
};
typedef CombinatorialLogicExpression Concept;
} // namespace concept
} // namespace smo
#endif