diff --git a/egison.cabal b/egison.cabal
--- a/egison.cabal
+++ b/egison.cabal
@@ -1,5 +1,5 @@
 Name:                egison
-Version:             3.7.2
+Version:             3.7.3
 Synopsis:            Programming language with non-linear pattern-matching against non-free data
 Description:
   An interpreter for Egison, a **pattern-matching-oriented**, purely functional programming language.
diff --git a/lib/math/geometry/differential-form.egi b/lib/math/geometry/differential-form.egi
--- a/lib/math/geometry/differential-form.egi
+++ b/lib/math/geometry/differential-form.egi
@@ -1,6 +1,11 @@
-;(define $d
-;  (lambda [%X]
-;    !(∂ X)))
+(define $df-normalize
+  (lambda [%X]
+    (let* {[$p (df-order X)]
+           [[$es $os] (even-and-odd-permutations p)]}
+      (with-symbols {i}
+        (/ (- (sum (map (lambda [$σ] (subrefs X (map 1#i_(σ %1) (between 1 p)))) es))
+              (sum (map (lambda [$σ] (subrefs X (map 1#i_(σ %1) (between 1 p)))) os)))
+           (* (fact p)))))))
 
 (define $wedge
   (lambda [%X %Y]
@@ -9,10 +14,3 @@
 (define $Lie.wedge
   (lambda [%X %Y]
     (- !(. X Y) !(. Y X))))
-
-;(define $hodge
-;  (lambda [%A]
-;    (* (sqrt (abs (det g_#_#)))
-;       (foldl . ε_i.1..._i.n A_j.1..._j.k
-;              (map (lambda [$l] g~i.l~j.l) (between 1 k))))
-;    ))
