(part-type 'rc
	   '()
	   '()
	   '((any-model
	      (n1 n2 gnd)
	      ((v voltage-source n1 gnd)
	       (r resistor n1 n2)
	       (c capacitor n2 gnd))
	      ()
	      ((gnd-potential
		(= (>> potential gnd) 0)))))
	   '())


(define n (create-circuit 'N 'rc '(total)))

(assume-value n '(voltage v total) (lambda (t) 1))

(assume-value n '(resistance r) 2)

(assume-value n '(capacitance c) 3)

(assume-value n '(voltage c total) (literal-function 'v_C))

(propagate (constraint-network n))
; (-rhs:kcl r total):  Equation: 0=(??? x)
; (kcl-node n1 total):  Equation: 0=(??? x)
; (-rhs:kcl r total):  Equation: 0=(??? x)
; (kcl-node n1 total):  Equation: 0=(??? x)
;Value: done

;;;**** Why redundant equations? ****

(pe ((- (assignment-value
	 (connector-assignment
	  (car (referent n '(participants -rhs:kcl r total)))))
	(assignment-value
	 (connector-assignment
	  (cadr (referent n '(participants -rhs:kcl r total))))))
     't))
(+ -1/2 (* -3 ((D v_C) t)) (* 1/2 (v_C t)))
;;; Correct!


(define n (create-circuit 'N 'rc '(impedance)))

(assume-value n '(voltage v impedance) (lambda (s) 1))

(assume-value n '(resistance r) 2)

(assume-value n '(capacitance c) 3)

(propagate (constraint-network n))

(the-value n '(voltage c impedance))
; ((voltage c impedance) is not assigned)

(assume-value n '(voltage c impedance) (literal-function 'Vc))

(propagate (constraint-network n))
; (-rhs:kcl r impedance):  Equation: 0=(??? x)
; (kcl-node n1 impedance):  Equation: 0=(??? x)
; (-rhs:kcl r impedance):  Equation: 0=(??? x)
; (kcl-node n1 impedance):  Equation: 0=(??? x)
;Value: done


;;;**** Why redundant equations? ****

(pe ((- (assignment-value
	 (connector-assignment
	  (car (referent n '(participants -rhs:kcl r impedance)))))
	(assignment-value
	 (connector-assignment
	  (cadr (referent n '(participants -rhs:kcl r impedance))))))
     's))
(+ -1/2 (* -3 s (Vc s)) (* 1/2 (Vc s)))

;;; Correct!
