(define-object resource@Y)
(define-object ?r1)
(define-object ?r2)
(define-object ?r3)
(=>(define-subclass-relation subclass@Y)
(forall ?r1 ?r2 ?r3
(?r1
(and ?r2
(and ?r3
(and resource@Y))))))
(define-process process@Y)
(define-process mix)
(define-process paint)
(=>(define-subclass-relation subprocess@Y)
(forall ?mix ?paint
(?mix
(and ?paint
(and process@Y)))))
(define-subprocess@Y mix-process)
(define-subprocess@Y paint-process)
(define-subprocess@Y mix-process-output)
(=>(define mix-process ?r1 ?r2)
(mix-process
(and ?r1
(and ?r2))))
NOTE: Logica gives the following as proof:
(or (not (define mix-process ?r1 ?r2)) (mix-process (and ?r1 (and ?r2))))
for my argument being all premise
NOTE2: the following proof appears:
(not (mix-process (and ?r1 (and ?r2))))
for the 2nd part of argument as conclusion
(=>(define-mix-process-output ?r3)
(mix-process-output
(and mix-process
(and ?r3))))
(=>(define-paint-process )
(paint-process
(and ?r3)))